Keresés

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

  • bpx

    őstag

    válasz bama #4078 üzenetére

    void isPrim(int number){
    if (number <<4){ // shift operátor?
    return number; // void és return? meg miért kell magát a számot visszaadni?
    for(int i=4, i*i<number,i++); // meg kell engednni az egyenlőséget is különben a
    // négyzetszámokat is prímnek jelzi
    if(number % i=0) // az összehasonlító operátor az ==
    return 0;
    return 1;
    }

    for után nem kell közvetlenül ; mert így csak elszámol addig de nem csinál semmit

    helyesen valahogy így nézne ki:

    int isPrim(int number){
    if (number < 4) return 1;
    for(int i=4, i*i <= number,i++) {
    if(number % i=0)
    return 0;
    }
    return 1;
    }

    így 1-et ad vissza ha prím, 0-t ha nem az
    (persze nem teljes így sem mert pl. az 1-t prímszámnak jelzi + egy csomó osztót feleslegesen leellenőriz)

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