Hirdetés

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

  • Jester01
    veterán

    Igen a ciklus gyorsabb, az valóban nem jó neki. A 2 for ciklus megengedett...

    #include <stdio.h>


    int main(){

    int terfog;
    int i, j, k;
    int teglatestek=0;
    /*int rovidebb;*/

    scanf("%d", &terfog);
    /*rovidebb=terfog/2;*/

    for(i=1; i<=terfog/i; i++){
    if (!(terfog%i)){

    for(j=i; j<=terfog/j; j++){
    if (!(terfog%j)){
    k=terfog/(i*j);
    if(k>=j)
    teglatestek++;
    }
    }
    }
    }

    printf("%d\n", teglatestek);

    return 0;
    }

    Na így tudtam rövidíteni (a tegnapi fórumozásból így tudtam kivenni.), de most nem tudom, hogy hol a hiba, a példa esetekből a 254-re 3-t ad, holott 2-öt kéne adnia, a többire annyit ad amennyit illik neki.

    Mert a leosztás hiányzik belőle és rosszak a ciklus feltételek.

    for(i=1; i<=terfog; i++){
    if (!(terfog%i)){
    int q = terfog / i;
    for(j=i; j<=q; j++){
    if (!(q%j)){
    k=q/j;

    Ha még a gyökös trükköt is beleteszed, akkor hasít mint állat :K

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