Armstrong Sayıları

Yorum Ekle

 


Bir sayının basamaklarındaki tüm rakamlarının sayı değerlerinin, sayının basamak sayısı kadar kuvveti alınıp toplanıldığında elde edilen sayı, sayının kendisine eşitse bu sayıya "Armstrong sayısı" denir.

Örneğin 153 sayısı bir Armstrong sayısıdır. 

13 + 53 + 33 = 1 + 125 + 27 = 153

def int_to_list(sayi):
    return list(map(int,str(sayi)))

def armstrong(adet):
    liste =[]
    for i in range(0,adet+1):
        tmpListe= []
        tpl = 0
        tmpListe = int_to_list(i)
        for j in tmpListe:
            tpl += j**len(tmpListe)
        if i == tpl:
            liste.append(i)
    return liste

print(armstrong(100000))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54748, 92727, 93084]

Yorum için açıklama