В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Kkb194
Kkb194
23.01.2023 21:07 •  Информатика

Паскаль! натуральное число называется числом армстронга, если сумма цифр числа, возведенных в k -ю степень (где k – количество цифр в числе) равна самому числу. например, 153 = 1^ 3 + 5^ 3 + 3^ 3 . напишите программу, которая находит все числа армстронга на отрезке [ a , b ] . входные данные входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. гарантируется, что a ≤ b . выходные данные программа должна вывести в одну строчку все числа армстронга на отрезке [ a , b ] , разделив их пробелами. если таких чисел нет, программа должна вывести число -1. у меня программа написана, но она просто выводит все числа армстронга, учесть промежуток от a до b и если таких чисел нет то вывести -1 var i,l,k,a,b,c,s,e,g,f,x,h,j: integer; begin for i: =100 to 9999 do begin l: =i; while l< > 0 do begin l: =l div 10; k: =k+1; end; if k=3 then begin a: =i mod 10; b: =i div 100; c: =i div 10 mod 10; s: =a*a*a+b*b*b+c*c*c; if i=s then write(i,' '); end else begin e: =i mod 10; g: =i div 10 mod 10; f: =i div 100 mod 10; x: =i div 1000; h: =f*f*f*f+g*g*g*g+e*e*e*e+x*x*x*x; if i=h then write(i,' '); end; k: =0; end; end.

Показать ответ
Ответ:
9petya
9petya
04.10.2020 04:18
Program Project1;
var
  a,b: integer;
  i,j,k,
  ci,
  si,mi,
  errkod: integer;
  sti: string;
  flag: Boolean;
begin
  Readln(a,b);
  flag:=false;
  for i:=a to b do
  begin
    str(i, sti);
    si:=0;
    for j:=1 to Length(sti) do
    begin
      val(sti[j],mi,errkod);
      ci:=1;
      for k:=1 to Length(sti) do
        ci:=ci*mi;
      si:=si+ci;
    end;
    if si=i then
    begin
      write(si,' ');
      flag:=true
    end;
  end;
  if not flag then write(-1);
  Readln;
 end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота