#4390: C++超時問題如何解決?


f612054 (OGC)


#include <cstdlib>
#include <iostream>
using namespace std;


int main(int argc, char *argv[])
{
    int x=0,c=2,a;
    while(cin>>x){     
            for(c=2;x%c!=0;c++){}
                  if (x==c) cout<<"值數\n";
                  else cout<<"非值數\n" ;
            }     
    return EXIT_SUCCESS;
}
#4391: Re:C++超時問題如何解決?


leopan0922 (zz)


#include
#include
using namespace std;


int main(int argc, char *argv[])
{
    int x=0,c=2,a;
    while(cin>>x){     
            for(c=2;x%c!=0;c++){}
                  if (x==c) cout<<"值數\n";
                  else cout<<"非值數\n" ;
            }     
    return EXIT_SUCCESS;
}
判斷到根號x就好了
#4393: Re:C++超時問題如何解決?


f612054 (OGC)


#include<cstdlib>
#include<iostream>
using namespace std;


int main(int argc, char *argv[])
{
    int x=0,c=2,a;
    while(cin>>x){     
            for(c=2;x%c!=0;c++){}
                  if (x==c) cout<<"值數\n";
                  else cout<<"非值數\n" ;
            }     
    return EXIT_SUCCESS;
}
判斷到根號x就好了
 
判斷到根號x 是for那邊?還是if? 

#4401: Re:C++超時問題如何解決?


leopan0922 (zz)


#include
#include
using namespace std;


int main(int argc, char *argv[])
{
    int x=0,c=2,a;
    while(cin>>x){     
            for(c=2;x%c!=0;c++){}
                  if (x==c) cout<<"值數\n";
                  else cout<<"非值數\n" ;
            }     
    return EXIT_SUCCESS;
}
判斷到根號x就好了
 
判斷到根號x 是for那邊?還是if? 

迴圈改成c<=sqrt(x);
#4578: Re:C++超時問題如何解決?


fire861224 (What he does is Lin)


#include<iostream
using namespace std;


int main(int argc, char *argv[])
{
    int x=0,c=2,a;
    while(cin>>x){     
            for(c=2;x%c!=0;c++){}
                  if (x==c) cout<<"值數\n";
                  else cout<<"非值數\n" ;
            }     
    return 0;
}
應該可以了