Problem mit vollkommener Zahl
-
Hallo. ICh bin ziemlich neu in C und wollte frage, warum mein Code nicht funktioniert. Kann selber keinen Fehler finden
Code:
#include <stdio.h> int main() { unsigned long int g, zahl; int i, j; zahl=0; i=0; j=0; printf("Bitte geben Sie einen Grenzwert ein: "); scanf("%lu", &g); for (i=2; i<g; i++) { for (j=1; j<i; j++) { if (i%j == 0) zahl=zahl+j; } if (zahl==i) printf("%lu" ,i, "\n"); } system("PAUSE"); return 0; }
Eine vollkommene Zahl n>=2 heißt genau dann vollkommen, wenn sie die Summe aller Teiler, die kleiner als n sind, ist (die kleinste vollkommene Zahl ist 6 (3+2+1))
Bin für jede Hilfe dankbar
-
Du musst zahl in der äußeren Schleife wieder auf 0 setzen.
-
MFK schrieb:
Du musst zahl in der äußeren Schleife wieder auf 0 setzen.
Danke schön