Hirdetés

Új hozzászólás Aktív témák

  • #90999040

    törölt tag

    válasz Jester01 #2496 üzenetére

    Szerintem ez a feltétel megfordításával sem lesz jó.
    1. Keveri az osztandót és az osztót.
    2. Miért kell ehhez 3 ciklus, mikor 2 bőven elég? :F
    A külső ciklus az osztandót növeli, a belső pedig az adott osztandó mellett az osztót.

    Ha mindenképpen do-while, akkor én így csinálnám:

    int main() {
    int n, oszto, osztando, prim;
    printf("Melyik szamig nezzem meg?");
    scanf("%d", &n);
    for (osztando=2; osztando<=n; osztando++) {
    prim=0;
    oszto=1;
    do {
    if (osztando % oszto == 0) {prim++;}
    oszto++;
    } while ((prim<=2) && (oszto<=osztando));
    if (prim==2) printf("%d\n", osztando);
    }
    return 0;
    }

    Egyébként pedig így:

    int main()
    {
    int osztando,oszto,k,hatar;
    printf("Melyik szamig nezzem meg? ");
    scanf("%d",&hatar);
    for (osztando = 2;osztando <= hatar; osztando++) {
    k=0;
    for (oszto = 1; oszto <= osztando; oszto++) {
    if (osztando % oszto == 0) {k++;}
    if (k > 2) {break;}
    }
    if (k==2) {printf("%d\n",osztando);}
    }
    return 0;
    }

Új hozzászólás Aktív témák