有谁知道水仙花数的编程????急用

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:46:46

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
main()
{
int i,j,k,n; /*定义整型变量i,j,k,n*/
printf("'water flower'number is:"); /*输出语句(没必要解释吧)*/
for(n=100;n<1000;n++) /*循环语句,每次循环N都自加1*/
{
i=n/100; /*求出N这个3位数的百位*/
j=(n-i*100)/10; /*求出N这个3位数的十位*/
k=n%10; /*%是求余运算符,比如7%4值为3,求出个位数*/
if(i*i*i+j*j*j+k*k*k==n) /*百位数,十位数,个位数的立方和*/
printf("%d\n",n); /*以十进制整数形式输出*/
}
}

C的
main()
{
int i,j,k,n;
printf("'水仙花数'是:");
for (n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%d",n);
}
}
printf("\n");
}
C++:
#include"iostream.h"

voidmain(