Zanim napiszemy program w c, który sprawdzi, czy liczba jest Armstrongiem, czy nie, przyjrzyjmy się, czym jest liczba Armstronga.
Numer Armstronga Jest liczba równa sumie sześcianów jej cyfr . Na przykład 0, 1, 153, 370, 371 i 407 to liczby Armstronga.
Spróbujmy zrozumieć dlaczego 153 jest liczbą Armstronga.
153 = (1*1*1)+(5*5*5)+(3*3*3) where: (1*1*1)=1 (5*5*5)=125 (3*3*3)=27 So: 1+125+27=153
Spróbujmy zrozumieć dlaczego 371 jest liczbą Armstronga.
371 = (3*3*3)+(7*7*7)+(1*1*1) where: (3*3*3)=27 (7*7*7)=343 (1*1*1)=1 So: 27+343+1=371
Zobaczmy program c, który sprawdzi liczbę Armstronga w C.
#include int main() { int n,r,sum=0,temp; printf('enter the number='); scanf('%d',&n); temp=n; while(n>0) { r=n%10; sum=sum+(r*r*r); n=n/10; } if(temp==sum) printf('armstrong number '); else printf('not armstrong number'); return 0; }
Wyjście:
enter the number=153 armstrong number enter the number=5 not armstrong number