怎样用c++判断一个数是否为素数?
答案:2 悬赏:0
解决时间 2021-02-02 01:46
- 提问者网友:醉人眸
- 2021-02-01 13:34
怎样用c++判断一个数是否为素数?
最佳答案
- 二级知识专家网友:两不相欠
- 2021-02-01 14:35
方法如下:
首先先定义一个函数用于判断一个数是否是素数,接着主函数接受键盘输入,并调用该函数判断输入的数是否是素数。
1、补充:素数就是只能被1和自身整除的数。故判断n是否是素数,可以用n依次除以n-1,n-2……2,如果能整除则不是素数,否则是素数。
2、示例:
#include
#include
using namespace std;
int isfun(int n){//判断参数n是否是素数
int i;
if(i<2) return 0;
for(i=n-1;i>=2;i--){
if(n%i==0) return 0;
}
return 1;
}
int main( ) {
int n;
cin>>n;
if(isfun(n)) printf("%d是素数!\n",n);
else printf("%d不是素数!\n",n);
return 0;
}
首先先定义一个函数用于判断一个数是否是素数,接着主函数接受键盘输入,并调用该函数判断输入的数是否是素数。
1、补充:素数就是只能被1和自身整除的数。故判断n是否是素数,可以用n依次除以n-1,n-2……2,如果能整除则不是素数,否则是素数。
2、示例:
#include
#include
using namespace std;
int isfun(int n){//判断参数n是否是素数
int i;
if(i<2) return 0;
for(i=n-1;i>=2;i--){
if(n%i==0) return 0;
}
return 1;
}
int main( ) {
int n;
cin>>n;
if(isfun(n)) printf("%d是素数!\n",n);
else printf("%d不是素数!\n",n);
return 0;
}
全部回答
- 1楼网友:滚刀废物浮浪人
- 2021-02-01 14:51
判断一个正整数是否是素数的算法描述:
对于待判断数num,设k等于num的平方根,取2~k之间的数逐个被num取余,如果发现有一个是余数,则说明num不是素数;直到2~k之间没有一个数能够被num取余得0为止,说明num是一个素数。
c++程序代码:
#include "iostream"
#include "math.h"
using namespace std;
bool isprimenumber(int num) {
int i, k;
if(num < 2) {
return false;
}
if(num == 2) {
return true;
}
k = (int)(sqrt(1.0*num));
for(i=2; i<=k; i++) {
if(num % i == 0) {
return false;
}
}
return true;
}
int main(){
int num = 23;
if(isprimenumber(num) == true) {
cout<
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯