两道c++题

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:56:05
1)寻找回文数:寻找出11-999之间的数M,满足m,m^2,m^3均为回文数(回文数指各位数字左右对称的整数,如282)
2)输入八位的二进制数,将其转换为十进制输出
告诉我算法即可

#include<string.h>
int huiwen(long m)
{
char tmp[16]={0};
sprintf(tmp,"%ld",m);
int i=0,j=strlen(tmp)-1;
for(;i<j;)
if(tmp[i++]!=tmp[j--])
return 0;
return 1;
}
int svalue(long m)
{
if(huiwen(m)&&huiwen(m*m)&&huiwen(m*m*m))
return 1;
return 0;
}

11~999之间只有三个数:
11 121 1331
101 10201 1030301
111 12321 1367631