Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Условие задачи звучит так: Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N Я сделал такую программу для 3ех 4ех и 2ух значных чисел в разных программах,а как сделать универсальную программу,которая работала бы с разными числами,наверное есть какая-то зависимость див и мод но ее я не заметил. Пж допишете программу,вот скидываю для 4ех знаков что бы было более наглядно
Листинг программы
  1. var a,b,c,i,n,d:integer;
  2. begin
  3. readln(n);
  4. for i:=1000 to 9999 do
  5. begin
  6. a:=i mod 10;//4
  7. b:=i div 10 mod 10;//3
  8. c:=i div 10 mod 100;
  9. d:=i div 1000;//1
  10. if (n=sqr(a)+sqr(b)+sqr(d)+sqr(c)) then
  11. writeln('Найдено искомое число: ',i);
  12. end;
  13. writeln;
  14. write('время ',Milliseconds);
  15. writeln;
  16. end.

Решение задачи: «Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N»

textual
Листинг программы
  1. var p,n,i,j,a,s:integer;
  2. begin
  3. write('Введите порядок чисел от 1 до 10 p=');
  4. readln(p);
  5. write('Введите сумму цифр n=');
  6. readln(n);
  7. j:=1;
  8. for i:=1 to p do
  9. j:=j*10;//определяем степень 10
  10. for i:=j div 10 to j-1 do//от в 10 раз меньше до на 1 меньше
  11.   begin
  12.    a:=i;
  13.    s:=0;
  14.    while a>0 do
  15.     begin
  16.      s:=s+sqr(a mod 10);
  17.      a:=a div 10;
  18.     end;
  19.    if s=n then writeln('Найдено искомое число: ',i);
  20.   end;
  21. end.

Объяснение кода листинга программы

Этот код написан на языке Pascal ABC и выполняет следующую задачу: находит все трехзначные числа, сумма квадратов цифр которых равна заданному числу N. Переменные в коде объявлены следующим образом:

  • p и n - целочисленные переменные, которые используются для получения порядка и суммы цифр от пользователя.
  • i, j, a, s - целочисленные переменные, которые используются для выполнения операций в цикле. Цикл for используется для определения степени 10, которую нужно умножить на каждое число в ряду. Затем цикл for используется для проверки каждого числа в ряду, начиная с самого маленького, и проверяет, равно ли оно заданному числу N. Если это так, то число выводится на экран вместе с его порядковым номером. Примечание: этот код не использует вложенные списки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы