所谓的水仙花数是指一个三位数的每一位上数字的立方和等于这一个数字。例如153 = 1^3 + 5^3 + 3^3。
下面利用C语言来求三位水仙花数,利用穷举的方法来验证每一个三位数是否为水仙花数,在验证过程中把一个三位数的每一位都分离出来求其立方和。分离过程利用取模来实现。例如153的个位3可以用153%10=3来取得,十位153/10%10=5,百位153/100=1。
#include <stdio.h>
int main()
{
int i,j,k,l;
for(i=100;i<1000;i++)
{
j=i%10;
k=i/10%10;
l=i/100;
if(j*j*j+k*k*k+l*l*l==i)
printf("%d\n",i);
}
return 0;
}