Armstrong sayısı: Tüm basamaklarındaki rakamların sayı değerlerinin küpleri toplamı,kendisine eşit olan sayılara denir.
Bir sayının Armstrong sayısı olup olmadığını hesaplayan programı yazalım..
# X'i hesaplayan bir fonksiyon yazalım
def power(x, y):
if y==0:
return 1
if y%2==0:
return power(x, y/2)*power(x, y/2)
return x*power(x, y/2)*power(x, y/2)
# Sayının sırasını hesaplama
def order(x):
# Sayıyı değişkene atama
n = 0
while (x!=0):
n = n+1
x = x/10
return n
# Armstrong sayısı mı değil mi, kontrol
def isArmstrong (x):
n = order(x)
temp = x
sum1 = 0
while (temp!=0):
r = temp%10
sum1 = sum1 + power(r, n)
temp = temp/10
# Koşul yerine getirilirse
return (sum1 == x)
# Programı çalıştıralım
x = 153
print(isArmstrong(x))
x = 1253
print(isArmstrong(x))
Python dersleri için buraya gidebilirsiniz..