c语言 水仙花数

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:38:55
水仙花数是指一个3位数,其各位数字立方和等于该数本身 立方和是什么? 帮我分析下面一道题目

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

运行结果:
所有的水仙花数的:
153
370
371
407

立方和就是:比如153,就是1的立方+5的立方+3的立方=1+125+27=153
这个就是水仙花数的意思。。

程序里面的ijk分别对应数字的百位,十位,个位。if(n==i*i*i+j*j*j+k*k*k)判断是否为水仙花数

立方和就是先求立方,再求和
for(n=100;n<1000;n++)
{
i=n/100; /*去百位数字*/
j=n/10-i*10; /*取十位数字*/
k=n%10;/*取个位数字*/
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n",n);