Паскаль! Натуральное число называется числом Армстронга, если сумма цифр числа, ??озведенных в 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.
?озведенных в 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.
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.
Также наши пользователи интересуются:
Территориальные воды государства. Что НЕ РАЗРЕШАЕТСЯ ДЕЛАТЬ другим государствам Определи, какие пословицы подходят к произведению Е. Л. Шварца "Сказка о потерянно?
⭐⭐⭐⭐⭐ Лучший ответ на вопрос «Паскаль! Натуральное число называется числом Армстронга, если сумма цифр числа, ?» от пользователя Ксения Москаленко в разделе Информатика. Задавайте вопросы и делитесь своими знаниями.
Открой этот вопрос на телефоне - включи камеру и наведи на QR-код!