问题描述
- c++找出a b区域之间所有回文素数并输出
-
编译错误,求大神帮看
#include
#include
using namespace std;
int main() {
int a,b,n;
cin>>a>>b;
for(n=a;n<=b;n++)
{
bool p(long m)
{
m=n;
int s=0;
while(m>0)
{
s=s*10+m%10;
m=m/10;
}
if(s==n) return 1;
else return 0;
}
if (p==1)
{
for (int k=2;k<n;k++)
if(n%k==0)break;
if(k==n-1) cout<<n<<endl;
}}
return 0;
}
解决方案
那个头文件是有的,只是复制过来没了
解决方案二:
C 输出a和b之间的素数
解决方案三:
C 函数内部,不能定义函数
C++也只是几种特例,才可以
1)函数内部的类型(struct,class)定义内部定义函数
2)C++11 lamda 表达式
解决方案四:
那个判断是否是回文数的函数写在主函数外面然后调用就可以了吧,个人建议,如果a b不是太大的话,建议素数标记打表,然后判断是不是素数,如果是再调用判断是否是回文数的函数
时间: 2024-09-08 11:48:37