Python ile Armstrong Sayısı Örneği
Bu yazımızda Python ile Armstrong sayısı ile alakalı örnek bir kodlama yapacağız. Öncelikle Armstrong sayısı nedir onu açıklayalım. Zira bunu bilmeden kodlamak imkansız olacaktır.
Bir sayının, tüm basamaklarındaki rakamların sayının basamak katına toplamı kendisine eşit olan sayılara Armstrong sayısı denir. Örneğin; 407 sayısını ele alalım. 407’yi rakamlarına ayıralım. Sonrasında da bu rakamları, sayı üç haneli olduğu için rakamların küplerini alıp toplayalım:
407 ➡️ (43) + (03) + (73) = 407 yapmaktadır. Yani bu demektir ki 407 sayısı Armstrong bir sayıdır. Şimdi bunu Python ile kodlayalım:
⭐ İlk çözüm yolu olarak fonksiyon ve if-else yapısını kullanarak kodlayalım:
def is_armstrong(n):
n = str(n)
return sum(int(i) ** len(n) for i in n) == int(n)
number = int(input("Bir sayı giriniz: "))
if is_armstrong(number):
print("Girilen sayı bir Armstrong Sayısı.")
else:
print("Girilen sayı bir Armstrong Sayısı değil.")
⭐ İkinci çözüm yolunda ise if-else ve for döngüsünü aşağıdaki gibi kullandık:
sayi = int(input("Sayıyı Giriniz:"))
basamak = str(sayi)
toplam=0
for x in basamak:
rakam = int(x)**len(basamak)
toplam += rakam
if(sayi == toplam):
print("Bu Bir Armstrong Sayısıdır.")
else:
print("Bu bir Armstong Sayısı Degildir.")