这一块是这么写:
for(m=11;m<1000;m++)
if(symn(m)&&symn(m*m)&&symn(m*m*m))
cout<
while(n) n是0怎么会执行呢。
修改如下:
#include
using namespace std;
bool symn(long m);
int main()
{
long m,i;
for(m=11;m<1000;m++)
if(symn(m)&&symn(m*m)&&symn(m*m*m))
cout<
}
bool symn(long m)
{
long n=0;
do
{
n=n*10+m%10;
m=m/10;
}while(n);
return (m==n);
}
改成如下,记得要先保存m的值!!
#include
using namespace std;
bool symn(long m);
int main()
{
long m;
for(m=11;m<1000;m++)
if(symn(m)&&symn(m*m)&&symn(m*m*m))
cout<
}
bool symn(long m)
{
long n=0,i=m;
while(i)
{
n=n*10+i%10;
i=i/10;
}
return (m==n);
}