Primzahlen erkennen

  • geschlossen
  • C

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Primzahlen erkennen

    ich bin grad dabei c zu lernen und versuche ein programm zu schreiben das eine primzahl erkennt! Schaffe es aber irgendwie nicht...
    bitte um hilfe

    so weit bin ich erstmal:
    habe probleme mit der ausgabe wenn es eine primzahl ist!


    Quellcode

    1. #include<stdio.h>
    2. int main()
    3. {
    4. int zahl,i,y=0;
    5. printf("geben sie eine zahl unter 10.000 ein\n");
    6. scanf("\n%d",&zahl);
    7. for(i=2;i<zahl/2;i++)
    8. {
    9. if(zahl%i==0)
    10. {
    11. printf("keine primzahl\n\n");
    12. break;
    13. y=1;
    14. printf("%d",i);
    15. }
    16. }
    17. printf("%d",y);
    18. return(0);
    19. }
    Alles anzeigen
  • 0wN3r schrieb:

    habe probleme mit der ausgabe wenn es eine primzahl ist!

    Quellcode

    1. [B]break;[/B]
    2. [COLOR='Red']y=1;
    3. printf("%d",i);[/COLOR]



    Kein Wunder bei dem break. ;)
    Lass breaks am besten komplett weg.
    Alles, was unter einem break steht, wird nicht ausgefuehrt, da du ja aus der Schleife rausspringst.

    Quellcode

    1. #include<stdio.h>
    2. int main() {
    3. int zahl,i,y=0;
    4. printf("Geben sie eine Zahl unter 10.000 ein: ");
    5. scanf("%d",&zahl);
    6. for(i=2;i<zahl/2 && !y;i++) {
    7. if(zahl%i == 0) {
    8. printf("\nKeine Primzahl, teilbar durch %d.\n",i);
    9. y=1;
    10. }
    11. }
    12. if (!y) printf("\nPrimzahl.\n");
    13. return(0);
    14. }
    Alles anzeigen
    User helfen Usern: die FSB-Tutoren! (zum Chat) (zur Gruppe)

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Skyte ()

  • Oder mit Break :)

    Quellcode

    1. #include <string>
    2. #include<stdio.h>
    3. int main()
    4. {
    5. std::string str;
    6. int zahl,i;
    7. printf("geben sie eine zahl unter 10.000 ein\n");
    8. scanf("\n%d",&zahl);
    9. str = "ist eine Primzahl";
    10. for(i=2;i<zahl/2;i++)
    11. {
    12. if(zahl%i==0)
    13. {
    14. str = "ist keine Primzahl";
    15. break;
    16. }
    17. }
    18. printf("%d %s",zahl,str.c_str() );
    19. return(0);
    20. }
    Alles anzeigen