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


Anmelden zum Antworten