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

  • Forest_roby

    őstag

    hi!

    Van egy nem tul kifinomult, de működő progim primek kiszámolására. Gondoltam gyorsítok rajta egy kicsit, de ellenkező hatást értem el. Minnél nagyobb a prim annál több ciklust spórol meg az uj progi, de mégis egyre lasabb lesz. Mi ennek az oka?

    első változat:

    #include <stdio.h>

    main(){
    int a,b;

    a = 2;
    b = 2;
    for(a=2; a <= 100000; a++){

    for(b=2; a>=b;b++){
    if ( (a%b) > 0) {
    if (b==(a/2)) printf(''%d\n'',a);
    }
    else break;
    }
    }
    getchar();
    }



    második változat:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    main(){
    int a,b;

    a = 2;
    b = 2;
    for(a=2; a <= 1000; a++){
    float x = a;

    for(b=2; a>=b; b++){

    if( (a%b) > 0 ){
    if( b >= sqrt(x) & b < (sqrt(x)+1) ) printf(''%d\n'', a);

    }else break;
    }
    }
    getchar();
    }



    ui.: biztos sok helyen máshogy is meglehetett volna írni a progit és még sokat is fogok rajta változtatni, de akkor se értem mért lett olyan lassú!

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

Hirdetés