#include "iostream"
#include "cmath"
using namespace std;
int fun(int(n));
int main(){
int x;
cout<<"请输入一个整数"<<endl;
cin>>x;
if(fun(x))
cout<<"不是素数"<<endl;
else
cout<<"是素数"<<endl;
return 0;
}
int fun(int(n))
{
int k,yes;
yes=sqrt(n);
for(k=2;k<=yes;k++)
if(n%k==0)
yes=0;
if(k>yes)
yes=1;
return yes;
}
为啥要求根???
yes=sqrt(n);
for(k=2;k<=yes;k++)
#include "iostream"
#include "cmath"
using namespace std;
int is_prime(int n);
int main(){
int x=13;
string msg[]={"不是素数","是素数"};
cout<<x<<msg[is_prime(x)]<<endl;
return 0;
}
int is_prime(int n)
{
int k,sqr;
int yes=1;//先假设是素数,在下面循环中进行否定
sqr=sqrt(n)+1;
for(k=2;k<=sqr;k++){
if(n%k==0){//进行否定
yes=0;
}
}
return yes;
}
#include "iostream"
#include "cmath"
using namespace std;
int fun(int(n));
int main(){
int x;
cout<<"请输入一个整数"<<endl;
cin>>x;
if(!fun(x))
cout<<"不是素数"<<endl;
else
cout<<"是素数"<<endl;
return 0;
}
int fun(int(n))
{
int k,yes = 0;
yes=sqrt(n);
for(k=2;k<=yes;k++)
if(n%k==0)
break;
if(k>yes)
return 1;
return 0;
}
你代码有两个问题,见下图
问题1:fun表达的意思是是否为素数,是否反了
问题2, 需要两个变量,一个表达循环次数,一个表达是否为素数, 你将这两个变量合为一个变量yes了