Armstrong python

  • Was ist das Problem mit diesem Python-Code? Es funktioniert bis 407 und wird dann beendet. Ich bin mir nicht sicher, warum es aufhört, wenn der von mir angegebene Bereich 1000 beträgt.

  • Hallo Shamzi,

    nun 407 ist die größte Armstrong Zahl mit 3 Ziffern.

    Dieser Code sucht dann bis 10000 ...

    Armstrong number: 153

    Armstrong number: 370

    Armstrong number: 371

    Armstrong number: 407

    Armstrong number: 1634

    Armstrong number: 8208

    Armstrong number: 9474

    Wenn Du noch höher willst, solltest Du die if (num>= ....) durch eine Schleife ersetzen, die mit d1n + d2n + ... + dnn arbeitet und eine obere Schranke verwenden.

    Gruß, Holger

    "Probleme kann man meist nicht mit derselben Denkweise lösen, durch die sie entstanden sind."

    Wetterstation Nievenheim

  • 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:

    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

    "Probleme kann man meist nicht mit derselben Denkweise lösen, durch die sie entstanden sind."

    Wetterstation Nievenheim

  • Also in Python könnte das so aussehen (was auch immer die Programmiersprache mit den Klammern um die Bedingungen und den schlechten Namen ist ?):

    Das sucht einfach unendlich. Falls man das auf einen Zahlenbereich einschränken möchte, müsste man `count()` durch ein entsprechendes `range()` ersetzen.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

  • Vielen Dank für deine Hilfe :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!