算法笔记.试除法判断质数
代码实现:
#include <iostream>
using namespace std;
void check(long x)
{if(x == 1) //注意1要特判{cout <<"No"<<endl;return;}// bool flag = true;// for(int i = 2;i*i<=x;i++) //i*i可能会溢出int 的范围for(int i = 2;i<=x/i;i++){if(x%i == 0) {cout <<"No"<<endl;return;}}cout <<"Yes"<<endl;// if(flag) cout << "Yes"<<endl;// else cout << "No"<<endl;
}int main()
{int n;cin>>n;while(n--){int x;scanf("%d",&x);check(x);}return 0;
}
注意:
避免溢出的处理 i <= x/i。