编写一个程序判断一个数是否为素数,是则输出1,不是输出0.
方案一:
#include<iostream>
using namespace std;
int main(){
int n,i;
cin>>n;
for(i=2;i<n;i++){
if(n%i==0)
break;
}
if(i>=n) // 这里的大于符号,主要是为了防止n=1的情况
cout<<1<<endl;
else
cout<<0<<endl;
return 0;
}
方案二:
#include<iostream>
#include<cmath>
using namespace std;
int isPrime(int n){
int i;
// 输入n=2时,因为i=2<sqrt(2)=1.414为假,所以不会进入循环,直接返回1
for(i=2;i<=sqrt(n);i++){
if(n%i==0) return 0;
}
return 1;
}
// 判断一个数是否为素数
int main(){
int n;
cin>>n;
cout<<isPrime(n)<<endl;
return 0;
}