例题:【AcWing】866. 试除法判定质数
给定n个正整数,判定每个数是否是质数。
输入格式
第一行包含整数n。接下来n行,每行包含一个正整数。
输出格式
共n行,其中第 i 行输出第 i 个正整数是否为质数,是则输出“Yes”,否则输出“No”。
数据范围
输入样例:
2
2
6
输出样例:
Yes
No
#include<iostream>
#include<algorihtm>
using namespace std; //使用命名空间
bool is_prime(int n)
{
if( n<2) return false;
// for (int i=2; i<n; i++)
//优化
//推导 d|n n/d | n 如果d能整除 n 那么n除以d也能整除 n
//d< =r/d d^2 <=n
for(int i=2;i<= n/i; i++) //降低时间复杂度
return false;
return true;
}
int main()
{
int t,n;
cin >> t;
while(t--){
cin >> n;
if(is_prime(n)==true)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}