这道题真的非常非常简单,然后我也是很快的写完了代码,但是,遇到了一些小意外。
这是我的第一个版本,但是不知道为什么居然会超时WA了,这是我没有想到的。
#include<iostream>
using namespace std;
int n;
bool prime(int x)
{
if(x<2)
return false;
for(int i=2;i*i<=x;i++)
if(x%i==0)
return false;
return true;
}
int main(void)
{
cin>>n;
while(n--)
{
int t;
cin>>t;
if(prime(t)) puts("Yes");
else
puts("No");
}
}
看了y总的代码,看到了一个小差别,改了一下之后,我就惊呆了,居然AC 了,一道题,逻辑一样,不同的代码真的差别很大。我注释了改动的地方
#include<iostream>
using namespace std;
int n;
bool prime(int x)
{
if(x<2)
return false;
for(int i=2;i<=x/i;i++)//这部分改动了一下
if(x%i==0)
return false;
return true;
}
int main(void)
{
cin>>n;
while(n--)
{
int t;
cin>>t;
if(prime(t)) puts("Yes");
else
puts("No");
}
}