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

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

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

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

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

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

  • Переменная number — для числа которое мы будем разбивать на цифры.
  • Переменная num1 — для первой цифры.
  • Переменная sum — для суммы цифр.
  • Переменная 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
    .
    Предыдущая
    ПрограммированиеЗадачи по Pascal. Определить, являются ли все цифры пятизначного числа четными.
    Следующая
    ПрограммированиеЗадачи по Pascal. Определить, есть ли среди цифр заданного трехзначного числа одинаковые.
    Помогли? Поставьте оценку, пожалуйста.
    Плохо
    0
    Хорошо
    0
    Супер
    0
    Спринт-Олимпик.ру
    Мы в ВК, подпишись на нас!

    Подпишись на нашу группу в ВКонтакте, чтобы быть в курсе выхода нового материала...

    Вступить
    ×