在linux中如何用gcc编程实现一个100到999的水仙花数

在linux中如何用gcc编程实现一个100到999的水仙花数,第1张

#include <stdio.h>

#include <math.h>

void main() {

    int N=3 //水仙数的位数

    int i,sum=0 

    for(i=100i<1000i++){

        int m=i

        sum=0

        while(m>0)

        {

            int temp=1

            int count=N

            while(count--) temp*=(m%10)

            sum+=temp

            m/=10

        }

        if(sum==i) printf("%d\n",i)

    }

}

//编译:gcc Daffodil_number.c -o daffodil

//执行:./daffodil

水仙花又称超完全数字不变数。

水仙花数有:153、370、371、407、1634、8208、9474、54748、92727、93084、548834、1741725、4210818、9800817、9926315、24678050、24678051、88593477、146511208、472335975、534494836、912985153、4679307774。

凡满足一个N位整数=其各位数字K次方之和的自然数称之为“完全数字不变数(PDI)”(或“坎得尔数”) 。若n=k则称为“超完全数字不变数”(计为PPDI)。PPDI必为PDI。

js写出水仙花数思路分析

1、使用for循环查找遍历,从100到999的所有三位数。

2、判断遍历的数字是否是各个位数的数字的3次幂数之和是否等于数字本身,如果是即为水仙花数,则在控制台输出(如何选取各个位数)。

(1)选取个位数,模以10,得到余数即为个位数。

(2)选取十位数,i除以10,再对结果进行取整,取整后得到一个两位数的整数。用这个结果对10取模,得到十位数。

(3)选取百位数,三位数除以100,再取整,就得到了百位数。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8444949.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存