Məsələnin icrasını yerinə yetirmək üçün -dan -yə qədər olan rəqəmləri yoxlayaq. Hər bir rəqəm üçün i = \overline{xyzu}~(a ≤ i ≤ b) rəqəmlərinin minlik , yüzlük , onluq və birlik rəqəmlərini ayırmaq lazımdır. Əgər rəqəmi Armstrong rəqəmidirsə (i = x^4 + y^4 + z^4 + u^4), onu çap edirik.
Algoritmin tətbiqi
İlk növbədə, daxil edilən verilənləri oxuyuruq.
scanf("%d %d", &a, &b);-dan -yə qədər olan rəqəmləri yoxlayırıq.
for (i = a; i <= b; i++)
{i = \overline{xyzu} rəqəminin rəqəmlərini ayıraq.
x = a / 1000;
y = i / 100 % 10;
z = i / 10 % 10;
u = i % 10;Əgər Armstrong rəqəmidirsə (i = x^4 + y^4 + z^4 + u^4), onu çap edirik.
if (x * x * x * x + y * y * y * y + z * z * z * z +
u * u * u * u == i) printf("%d ", i);
}
printf("\n");Python tətbiqi
Daxil edilən verilənləri oxuyuruq.
a, b = map(int, input().split())-dan -yə qədər olan rəqəmləri yoxlayırıq.
for i in range(a, b + 1):i = \overline{xyzu} rəqəminin rəqəmlərini ayıraq.
x = i // 1000
y = (i // 100) % 10
z = (i // 10) % 10
u = i % 10Əgər Armstrong rəqəmidirsə (i = x^4 + y^4 + z^4 + u^4), onu çap edirik.
if x**4 + y**4 + z**4 + u**4 == i:
print(i, end=" ")
print()