C语言刷题随记 —— 水仙花数

299 阅读1分钟

在这里插入图片描述\

文章目录

题目

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153 是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。
在这里插入图片描述

思路

利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。

题解


#include <stdio.h>


int main()
{
    int i,j,k,n;

    printf("水仙花数:");

    for(n=100;n<1000;n++)
    {
         i=n/100;   //分解出百位
         j=n/10%10; //分解出十位
         k=n%10;    //分解出个位

         if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
         {
             printf("%-5d",n);
         }
    }
    printf("\n");
}

样例输出

在这里插入图片描述

在这里插入图片描述