其他分享
首页 > 其他分享> > 【C语言】水仙花数

【C语言】水仙花数

作者:互联网

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
(例如:1^3 + 5^3+ 3^3 = 153)
水仙花数有四个:153,370,371,407。
求水仙花数方法有两种:
一、第一种,从100到999单循环,一个个试,看是否为水仙花数

#include<stdio.h>
void main(){
    int i;
    int a,b,c;    //a,b,c分别存放它的百位,十位,个位
    for(i=100;i<=999;i++)
    {
        a=i/100;
        b=i/10%10;
        c=i%10;
       if(a*a*a+b*b*b+c*c*c==i)
         printf("%d\n",i);
    }
}

二、第二种,采用多重循环,将数分别从百位、十位、个位循环

#include<stdio.h>
void main(){
    int a,b,c;    //a,b,c分别存放它的百位,十位,个位
    for(a=1;a<=9;a++)
       for(b=0;b<=9;b++)
          for(c=0;c<=9;c++)
          {
              if(a*a*a+b*b*b+c*c*c==a*100+b*10+c)
                   printf("%d\n",a*100+b*10+c);
          }
}

标签:10,int,十位,C语言,百位,100,水仙花
来源: https://blog.csdn.net/GuYinChenLan/article/details/117969063