#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
int is_prime(int n)
{
if(n<=1) return 0;
int m= floor(sqrt(n)+0.5); // 这里加了0.5是为了防止某个n开方后应该是整数,但是可能由于精度原因变成xx.9999 然后截取就错了
for(int i=2;i<=m;i++) //floor是向下取整的意思,和强制转型int()的区别是floor 返回double的类型
{
if(n%i==0) return 0;
}
return 1;
}
int main()
{
int n;
cin>>n;
if(is_prime(n))
{
cout<<"Yes\n"<<endl;
}
else
cout<<"No\n"<<endl;
return 0;
}
c语言基础-判断素数
最新推荐文章于 2024-03-29 10:20:35 发布