如:1634就是一個水仙花數(shù),1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4。

weixin_慕的地3424064
2022-06-30
1 回答
舉報
0/150
提交
取消
2022-07-02
#include <stdio.h>
int main()
{
? ? //定義四位數(shù)num,個位數(shù)sd,十位數(shù)td,百位數(shù)hd,千位數(shù)rd
? ? int num, sd, td, hd, rd;
? ? //循環(huán)所有四位數(shù)
? ? for (num = 1000; num < 10000; num++)
? ? {
? ? ? ? //獲取四位數(shù)字num千位上的數(shù)字
? ? ? ? rd = num / 1000;
? ? ? ? //獲取四位數(shù)字num百位上的數(shù)字
? ? ? ? hd = num % 1000 / 100;
? ? ? ? //獲取四位數(shù)字num十位上的數(shù)字
? ? ? ? td = (num % 100) / 10;
? ? ? ? //獲取四位數(shù)字num個位上的數(shù)字
? ? ? ? sd = num % 10;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if (num == rd * rd * rd * rd + hd * hd * hd * hd + td * td * td * td + sd * sd * sd * sd)
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num);
? ? ? ? }
? ? }
? ? return 0;
}