Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N - Pascal ABC
Формулировка задачи:
Условие задачи звучит так: Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N
Я сделал такую программу для 3ех 4ех и 2ух значных чисел в разных программах,а как сделать универсальную программу,которая работала бы с разными числами,наверное есть какая-то зависимость див и мод но ее я не заметил. Пж допишете программу,вот скидываю для 4ех знаков что бы было более наглядно
Листинг программы
- var a,b,c,i,n,d:integer;
- begin
- readln(n);
- for i:=1000 to 9999 do
- begin
- a:=i mod 10;//4
- b:=i div 10 mod 10;//3
- c:=i div 10 mod 100;
- d:=i div 1000;//1
- if (n=sqr(a)+sqr(b)+sqr(d)+sqr(c)) then
- writeln('Найдено искомое число: ',i);
- end;
- writeln;
- write('время ',Milliseconds);
- writeln;
- end.
Решение задачи: «Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N»
textual
Листинг программы
- var p,n,i,j,a,s:integer;
- begin
- write('Введите порядок чисел от 1 до 10 p=');
- readln(p);
- write('Введите сумму цифр n=');
- readln(n);
- j:=1;
- for i:=1 to p do
- j:=j*10;//определяем степень 10
- for i:=j div 10 to j-1 do//от в 10 раз меньше до на 1 меньше
- begin
- a:=i;
- s:=0;
- while a>0 do
- begin
- s:=s+sqr(a mod 10);
- a:=a div 10;
- end;
- if s=n then writeln('Найдено искомое число: ',i);
- end;
- end.
Объяснение кода листинга программы
Этот код написан на языке Pascal ABC и выполняет следующую задачу: находит все трехзначные числа, сумма квадратов цифр которых равна заданному числу N. Переменные в коде объявлены следующим образом:
- p и n - целочисленные переменные, которые используются для получения порядка и суммы цифр от пользователя.
- i, j, a, s - целочисленные переменные, которые используются для выполнения операций в цикле. Цикл for используется для определения степени 10, которую нужно умножить на каждое число в ряду. Затем цикл for используется для проверки каждого числа в ряду, начиная с самого маленького, и проверяет, равно ли оно заданному числу N. Если это так, то число выводится на экран вместе с его порядковым номером. Примечание: этот код не использует вложенные списки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д