日志6

质数判断,只需扫描2~sqrt(n)之间的所有整数,依次检查他们能否整除n,若都不能整除,则n是质数,否则n是合数,此为试除法,时间复杂度为O(sqrt(n)),还需特判0和1,他们既不是质数也不是合数。代码如下:
#include<iostream>
using namespace std;
int isPrime(int n)
{
if(n<=1) return 0;
if(n==2) return 1;
if(n%2==0) return 0;
for(long long i=2;i*i<=n;i+=2)
{
if(n%i==0) return 0;
}
return 1;
}

int main()
{
long long n;
cin>>n;
if(isPrime(n)) cout<<"Yes\n";
else cout<<"No\n";
}
全部评论

相关推荐

xdm怎么说&nbsp;要被拷打了&nbsp;担心是KPI
丹田:面就完了,就当日薪四位数的大佬免费给给你面试。
点赞 评论 收藏
分享
06-26 15:35
武汉大学 运营
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务