Задачи по Pascal. Определить, делится ли сумма цифр пятизначного числа на его первую цифру

pascalУсловие задачи : Написать программу, которая печатает TRUE или FALSE в зависимости от того, выполняются или нет указанные условия. Определить, делится ли сумма цифр пятизначного числа на его первую цифру.
(Язык Pascal)

Сложность: легкая.

 

Решение задачи :

 

Для начала продумаем наше решение. Сперва найдем сумму пяти цифр, потом отдельно найдем первую цифру и потом проверим делится ли нацело сумма на первую цифру.

Для того чтобы решить задачу нам понадобятся следующие переменные:

1. Переменная number — для числа которое мы будем разбивать на цифры.
2. Переменная num1 — для первой цифры.
3. Переменная sum — для суммы цифр.
4. Переменная res — для результата res (True или False)

Начнем мы с каркаса нашей программы :

var
    number, num1, sum : integer; // объявляем 
    res : boolean; // переменные
begin
    write('Введите пятизначное число : '); readln(number); // просим пользователя ввести число

    readln; // чтобы программа не закрывалась
end.

Тут мы объявили все переменные и попросили пользователя ввести число. Дальше нам надо разбить число на цифры делать это мы будем с помощью операций mod и div.
Если вы не понимаете как они работают ОБЯЗАТЕЛЬНО читайте про них (тут).

    sum := 0; // присваиваем начальное зн-е сумме, чтобы не было ошибок
    
    // допустим у нас число 23124
    sum := sum + (number div 10000); // ищем первую цифру числа, это будет 2
    sum := sum + (number div 1000 mod 10); // вторая - 3
    sum := sum + (number div 100 mod 10); // трерья - 1 
    sum := sum + (number div 10 mod 10); // четвертая  - 2
    sum := sum + (number mod 10); // пятая - 4

Я не стал делать для каждой цифры свою переменную, тут это не нужно, тут сделано так, сначала нашли первую цифру и прибавили к сумме получилось 2, теперь в переменной sum у нас есть первая цифра, дальше нашли вторую цифру и прибавили её к переменной sum, теперь у нас в переменной sum сумма двух первых цифр и т.д.

Ну а теперь нужно найти первую цифру, пишем:

num1 := number div 10000; // отдельно ищем 1-ю цифру

Теперь осталось проверить делиться ли сумма на первую цифру, тут нам поможет операция mod, если остаток от деления будет равен 0, то значит делиться (mod — ищет остаток от деления)

res := (sum mod num1 = 0); // проверяем делится ли нацело сумма на 1-ю цифру
    
writeln(res); // выводим результат

Всё решение задачи Pascal :

var
    number, num1, sum : integer; // объявляем 
    res : boolean; // переменные
begin
    write('Введите пятизначное число : '); readln(number); // просим пользователя ввести число
    
    sum := 0; // присваиваем начальное зн-е сумме, чтобы не было ошибок
    
    // допустим у нас число 23124
    sum := sum + (number div 10000); // ищем первую цифру числа, это будет 2
    sum := sum + (number div 1000 mod 10); // вторая - 3
    sum := sum + (number div 100 mod 10); // трерья - 1 
    sum := sum + (number div 10 mod 10); // четвертая  - 2
    sum := sum + (number mod 10); // пятая - 4
    
    num1 := number div 10000; // отдельно ищем 1-ю цифру
    
    res := (sum mod num1 = 0); // проверяем делится ли нацело сумма на 1-ю цифру
    
    writeln(res); // выводим результат
    readln; // чтобы программа не закрывалась
end.

Вот результат :

zadachi-po-pascal-opredelit-delitsya-li-summa-cifr-pyatiznachnogo-chisla-na-ego-pervuyu-cifru

объекты распродажа примеры работ панели Унипан продам Инфо здесь затеял строительство?

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *