赞
踩
https://www.acwing.com/problem/content/description/868/
对于一个数来说我们判断其是否有除1和本身外的因子实际上只需要从 [ 2 , x ] [2,\sqrt{x}] [2,x ]即可,因为因子是对称的例如6来说当我们枚举到2的时候就不必枚举3了,因为已知一个因子2,那么另一个因子必然为3,所以这就是试除法判定质数的思路和原理
#include<bits/stdc++.h> using namespace std; #define ll long long ll n,a; bool is_prime(ll x){ if(x == 1 || x == 0) return false; for(ll i = 2;i * i <= x; ++i) { if(x % i == 0) return false; } return true; } int main(){ cin>>n; while(n--){ cin>>a; if(is_prime(a)) cout<<"Yes"<<endl; else cout<<"No"<<endl; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。