perfect number
-
Hallo zusammen
Ich würde gern ein Programm schreiben, dass die perfekten Zahlen zwischen 1 und 50.000 auflistet. So sieht das bei mir aus:
#include <iostream> using namespace std; int main() { int t; int a; int x; int sum = 0; for (t=1; t<=50000; t++) { for (a=1; a<t; a++) { if (t%a == 0) { sum += a; } } if (t == sum) { cout << t << " is perfect.\n"; } } return 0; }
Wo liegt der Fehler?
Danke vielmals
-
Nachtrag:
In number theory, a perfect number is a positive integer that is equal to the sum of its proper positive divisors, that is, the sum of its positive divisors excluding the number itself
-
du musst sum auch wieder auf 0 setzen, sonst addiert der immer munter weiter.
Vielleicht sind da noch mehr Fehler, das ist mir jetzt auf den ersten Blick aufgefallen
-
Oh, das ging ja schnell
Danke, es geht jetzt so wie ich wollte.