满意答案
zuozuonuoya
2013.12.02
采纳率:49% 等级:12
已帮助:7825人
//我这个简单点
#include
void fill(char cn[],int n)
{
for(int i=0;i<11;i++)
{cn[i]=-1;}
for(int i=0;n;i++)
{
cn[i]=n%10;
n/=10;
}
}
int ispal(char cn[])
{
int pal=1;
int l=0;
while(cn[l]!=-1){ l++;}
for(int i=0;i
{
if(cn[i]!=cn[l-i-1])
{
pal=0;
break;
}
}
return pal;
}
int main()
{
int n;
char n1[11];
char n2[11];
char n3[11];
//scanf("%d",&n);
for(int n=1;n<1002;n++)
{
fill(n1,n);
fill(n2,n*n);
fill(n3,n*n*n);
if(ispal(n1)&&ispal(n2)&&ispal(n3))
printf("%d是三重回文数: %d\t%d\t%d\n",n,n,n*n,n*n*n);
//else
//printf("%d不是三重回文数\n%d\t%d\n",n,n*n,n*n*n);
}
return 0;
}
1是三重回文数: 1 1 1
2是三重回文数: 2 4 8
11是三重回文数: 11 121 1331
101是三重回文数: 101 10201 1030301
111是三重回文数: 111 12321 1367631
1001是三重回文数: 1001 1002001 1003003001
请按任意键继续. . .
00分享举报