您好,很高兴回答您的问题。
水仙花数是指三位数每个位置上的数的立方之和,等于这个数本身。这个题目的难点就在于对这个三位数进行分解,得出每一个位置上的数字。
#include
int main()
{
int a,b,c,i;
int *pa,*pb,*pc,*pi;
pa=&a;
pb=&b;
pc=&c;
pi=&i;
for(*pi=100;*pi<1000;(*pi)++)
{
*pa=*pi%10;
*pb=*pi/10%10;
*pc=*pi/100;
if((*pa)*(*pa)*(*pa)+(*pb)*(*pb)*(*pb)+(*pc)*(*pc)*(*pc)==*pi)
printf("%d\n",*pi);
}
return 0;
}
程序:
结果是:有4个