Среди чисел (введенных пользователем) найдите те, сумма квадратов цифр которых делится на 13 - Pascal ABC
Формулировка задачи:
Нужно чтобы пользователь ввел ограничение чисел (например от 1 до 50) и программа среди этих чисел, нашла именно те числа, сумма квадратов которых, будет кратна 13 (то есть делилась на 13 без остатка). Помогите пожалуйста, молю.
Решение задачи: «Среди чисел (введенных пользователем) найдите те, сумма квадратов цифр которых делится на 13»
textual
Листинг программы
program test; var Xmin, Xmax: integer; x: integer; Sum, temp: integer; begin readln(Xmin, Xmax); for x := Xmin to Xmax do begin temp := abs(x); Sum := 0; while temp > 0 do begin Sum := Sum + (temp mod 10); temp := temp div 10; end; if Sum mod 13 = 0 then writeln(x); end; end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Объявляются переменные Xmin, Xmax, x, Sum и temp.
- Считываются значения переменных Xmin и Xmax с помощью функции readln.
- Запускается цикл for, который проходит по всем числам от Xmin до Xmax.
- Внутри цикла переменная temp инициализируется абсолютным значением числа x.
- Переменная Sum инициализируется нулем.
- Запускается вложенный цикл while, который продолжается до тех пор, пока значение переменной temp больше нуля.
- Внутри вложенного цикла переменная Sum инициализируется суммой цифр числа x, взятых по модулю 10.
- Переменная temp делится на 10, чтобы получить следующую цифру числа.
- Если остаток от деления равен нулю, то это означает, что сумма цифр числа x, взятых по модулю 10, делится на 13 без остатка.
- Если это условие выполняется, то число x выводится на экран с помощью функции writeln.
- Цикл while завершается, и цикл for продолжается до тех пор, пока не будут обработаны все числа от Xmin до Xmax.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д