Найти все числа Армстронга в диапазоне от a до b - Turbo Pascal (29461)

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

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

Найти все числа Армстронга в диапазоне от a до b, где a и b – целые натуральные числа. Написать подпрограмму, которая находит сумму кубов цифр числа.

Решение задачи: «Найти все числа Армстронга в диапазоне от a до b»

textual
Листинг программы
  1. uses crt;
  2. function Armstrong(n:longint):boolean;
  3. var m,k,p,s,t,i:integer;
  4. begin
  5. m:=n;
  6. k:=0; {количество цифр в числе}
  7. while m>0 do
  8.  begin
  9.   k:=k+1;
  10.   m:=m div 10;
  11.  end;
  12. s:=0;
  13. m:=n;
  14. while m>0 do
  15.  begin
  16.   p:=m mod 10;
  17.   t:=1;
  18.   for i:=1 to k do
  19.   t:=t*p;
  20.   s:=s+t;
  21.   m:=m div 10;
  22.  end;
  23. Armstrong:=s=n;
  24. end;
  25. var a,b,i,k:longint;
  26. begin
  27. clrscr;
  28. repeat
  29. write('Введите интервал натуральных чисел b>a ');
  30. readln(a,b);
  31. until(a>0)and(b>a);
  32. k:=0;
  33. for i:=a to b do
  34. if Armstrong(i) then
  35.  begin
  36.   k:=1;
  37.   write(i,' ');
  38.  end;
  39. if k=0 then write('На этом интервале нет чисел Армстронга');
  40. readln
  41. end.

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

Этот код написан на Turbo Pascal и предназначен для поиска всех чисел Армстронга в заданном диапазоне. В функции Armstrong используется цикл while, который продолжается до тех пор, пока число n не станет равным нулю. Внутри цикла вычисляется количество цифр в числе n (переменная k). Затем число n делится на 10 (переменная m), пока результат деления не станет равным нулю. После этого начинается второй цикл while, который также продолжается до тех пор, пока число n не станет равным нулю. Внутри цикла вычисляется последняя цифра числа n (переменная p). Затем число n делится на 10 (переменная m), и результат умножается на последнюю цифру. Итоговое значение сохраняется в переменной t. Затем к итоговому значению добавляется значение переменной s, которое изначально равно нулю. Если итоговое значение равно исходному числу n, то это означает, что число Армстронга найдено. В основной части кода используется цикл for, который повторяется от числа a до числа b включительно. Если число i является числом Армстронга, то его значение выводится на экран. Если после прохода по всем числам в диапазоне от a до b не было найдено ни одного числа Армстронга, то выводится сообщение об этом. Наконец, перед завершением программы считывается входное значение от пользователя (диапазон чисел), и проверяется, что диапазон не пустой. Если это так, то начинается новый цикл, аналогичный циклу внутри функции Armstrong.

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


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

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

12   голосов , оценка 4.25 из 5

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

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

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