/* 函数06:超级素数
超级素数的定义:
一个素数,依次从最低位去掉一位,两位……
若得到的都是素数,且各数字不为0,则称为超级素数。
编写程序求a~b之间超级素数的个数。
a,b由键盘输入
比如:237,23 ,2 都是素数,所以237是超级素数*/
#include<iostream>
#include<cmath>
using namespace std;
bool IsPrime(long);
bool IsSuperPrime(long);
int main()
{ long i,j,k;
int a,b,n=0;
cin>>a>>b;
for(i=a;i<=b;i=i+1)
if(IsSuperPrime(i))
{ n++;
if(n%5!=0) cout<<i<<",";
else cout<<i<<endl;
}
}
bool IsPrime(long i)
{
if(i==1)
return false;
int j;
for(j=2;j<i/2+i;j++)
{if(i%j==0)
return false;}
return true;
}
bool IsSuperPrime(long i)
{
while(i>0)
{
if(!IsPrime(i))
return false;
if(i%10==0)
return false;
i=i/10;
}
return true;
}
这个程序为什么没输出呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 墨色染夕 若水三千 2022-01-12 13:41关注
/* 函数06:超级素数 超级素数的定义: 一个素数,依次从最低位去掉一位,两位…… 若得到的都是素数,且各数字不为0,则称为超级素数。 编写程序求a~b之间超级素数的个数。 a,b由键盘输入 比如:237,23 ,2 都是素数,所以237是超级素数*/ #include<iostream> #include<cmath> using namespace std; bool IsPrime(long); bool IsSuperPrime(long); int main() { long i; int a, b, n = 0; cin >> a >> b; for (i = a; i <= b; i = i + 1) if (IsSuperPrime(i)) { n++; if (n % 5 != 0) cout << i << ","; else cout << i << endl; } } bool IsPrime(long i) { if (i == 1) return true; int j; for (j = 2; j<i / 2 + 1; j++) { if (i%j == 0) return false; } return true; } bool IsSuperPrime(long i) { while (i>0) { if (IsPrime(i)) { if (i % 10 == 0) return false; i = i / 10; } else return false; } return true; } //237不是超级素数,他是3的倍数
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
- ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
- ¥50 opencv4nodejs 如何安装
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥15 复杂网络,变滞后传递熵,FDA