没有错误,但不够完美。
#include
int main()
{
int a,b,c,d,i;
for(i=1000;i<=9999;i++)
{
a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i-a*1000-b*100-c*10;
if(i==((a+c)*10+b+d)*((a+c)*10+b+d))
printf("%d,%d,%d,%d\n",a,b,c,d);
}
return 0;
}
http://msdn.microsoft.com/zh-cn/library/vstudio/dt5dakze(v=vs.110).aspx