用C++编写程序求10~2000之间所有的回文数要用函数fun(int n)来实现

2024-12-22 01:32:16
推荐回答(2个)
回答1:

#include
using namespace std;
bool fun(int n)
{
bool p=true;
int j=1,m=n;
while ((m/=10)!=0) j*=10;
m=n;
while(j>0)
{
if ((n/j)!=(m%10))
{
p=false;
break;
}
n%=j;
m/=10;
j/=10;
}
return p;
}
int main()
{
for (int n=10;n<2000;n++)
{
if (fun(n)) cout < }
return 0;
}

我上次做的是找小于10^7的完全平方数里的回文数,差点直接把那个代码给你了...

回答2:

#include
#include
using namespace std;
int fun(int n)
{
int len=0,t_f=1,w,m;
len=(int)log10(n)+1;
w=n/(int)pow(10,len/2+1);
m=n%((int)pow(10,(len/2)));
if(!(len%2)||w-m)
t_f=0;
return t_f;
}
int main()
{
for(int n=10;n<=2000;n++)
if(fun(n))
cout< system("pause");
return 0;
}