c语言水仙花数的求法是什么

   2025-02-13 5120
核心提示:C语言中求水仙花数的方法是利用循环和条件判断进行计算。水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它

C语言中求水仙花数的方法是利用循环和条件判断进行计算。水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。

具体的求法如下:

使用一个循环,从100开始逐个判断每个数是否是水仙花数。对于每个数,首先获取该数的位数n。将该数拆分为各个位上的数字,并计算每个数字的n次幂。将各个数字的n次幂相加,得到一个和。判断该和是否等于原数,如果相等,则说明该数是水仙花数,可以输出或保存起来。

示例代码如下:

#include <stdio.h>#include <math.h>int main() {    int n, num, digit, sum;        printf("水仙花数有:");        for (num = 100; num < 1000; num++) {        n = 0;        sum = 0;        int temp = num;                // 获取位数n        while (temp != 0) {            temp /= 10;            n++;        }                temp = num;                // 分解并计算每个位上的数字的n次幂        while (temp != 0) {            digit = temp % 10;            sum += pow(digit, n);            temp /= 10;        }                // 判断是否是水仙花数        if (sum == num) {            printf("%d ", num);        }    }        return 0;}

运行结果为:

水仙花数有:153 370 371 407

表示100到999之间的水仙花数为153、370、371和407。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言