Hi,
ich habe mal einen Code geschrieben, der alle Armstrong-Zahlen berechnen kann. Allerdings würde das mit einem PC unter Python wohl viele tausend Jahre dauern:
from datetime import datetime
## Untere Berechnungsgrenze:
min=1
## min=int(input("please enter min value: "))
## Obere Berechnungsgrenze:
max=10000000
## max=int(input("please enter max value: "))
print()
## Äußere Schleife --> geht alle Zahlen durch min bis max:
for num in range(min, max):
nsum=0
snum=str(num)
n=len(snum)
## Innere Schleife --> ermittelt die Summe der Potenzen für die einzelnen Ziffern der Zahl
for i in range(0, n):
nsum=nsum+int(snum[i])**n
## Summe schon größer als die zu testende Zahl --> Abbruch
if(nsum>num):
break
## Summe = zu testende Zahl --> Armstrongzahl mit Uhrzeit ausgeben
if(num==nsum):
print(datetime.now().strftime("%H:%M:%S")+": Armstrong number: ", num)
Display More
12:44:48: Armstrong number: 1
12:44:48: Armstrong number: 2
12:44:48: Armstrong number: 3
12:44:48: Armstrong number: 4
12:44:48: Armstrong number: 5
12:44:48: Armstrong number: 6
12:44:48: Armstrong number: 7
12:44:48: Armstrong number: 8
12:44:48: Armstrong number: 9
12:44:48: Armstrong number: 153
12:44:48: Armstrong number: 370
12:44:48: Armstrong number: 371
12:44:48: Armstrong number: 407
12:44:48: Armstrong number: 1634
12:44:48: Armstrong number: 8208
12:44:48: Armstrong number: 9474
12:44:48: Armstrong number: 54748
12:44:48: Armstrong number: 92727
12:44:48: Armstrong number: 93084
12:44:49: Armstrong number: 548834
12:44:53: Armstrong number: 1741725
12:45:01: Armstrong number: 4210818
12:45:22: Armstrong number: 9800817
12:45:22: Armstrong number: 9926315
Viel Spass damit 
Gruß, Holger