為何都是TLE(1s)?
#include <iostream>
using namespace std;
main()
{
int n;
while(cin>>n && n!=0)
{
int sum=0;
for(int m=2;n>m;m++)
{
if(n%m!=0 && n>=2)
sum+=0;
else
sum+=1;
}
if(sum==0 && n!=1)
cout<<"0"<<endl;
else
cout<<"1"<<endl;
}
}
為何都是TLE(1s)?
#include
using namespace std;
main()
{
int n;
while(cin>>n && n!=0)
{
int sum=0;
for(int m=2;n>m;m++)
{
if(n%m!=0 && n>=2)
sum+=0;
else
sum+=1;
}
if(sum==0 && n!=1)
cout<<"0"<<endl;
else
cout<<"1"<<endl;
}
}
你的方法在這題不夠快.. 試試看建質數表 (或者還有其他更快的方法)