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

在这里插入图片描述

题目

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

例如: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");
}


样例输出

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_21484461/article/details/124091233