谁能帮我看一下
2024-05-26 18:57:37
发布于:广东
29阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int zhishu(int a)
{
int z=1;
if(a==0 or a==1)
{
z=0;
}
else if(a==2)
{
z=1;
}
else
{
for(int i=2;i<a;i++)
{
if(a%i==0)
{
z=0;
break;
}
}
}
return z;
}
int huiwenshu(int a)
{
int z=0;
int n,r,t,sum=0;
cin>>n;
t=n;//t是n的备份
while(true)
{
//数位分离
r=n%10;
sum=sum*10+r;
n/=10;//n=n/10的意思
if(n==0)//结束条件
{
break;
}
}
if(t==sum)
{
z=1;
}
else
{
z=0;
}
return z;
}
int main()
{
int n,cnt=0;
cin >> n;
for(int i = 11; i <= n; i++)
{
int aa=zhishu(i);
int bb=huiwenshu(i);
if(aa==1 and bb==1)
{
cnt++;
}
}
}
全部评论 1
在你的代码中,判断回文数的函数里面多了一个cin>>n;语句。所以会出错。把这句话删掉,将n赋值为a即可ac。
2024-05-27 来自 新加坡
1哦对,这是从之前的题目复制过来的(服了)
2024-05-27 来自 广东
0
有帮助,赞一个