水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

用c语言怎么求水仙花数用c语言怎么求水仙花数(图片来源网络,侵删)

以下是用C语言求水仙花数的方法:

1、我们需要确定要查找的水仙花数的范围,我们可以选择查找3位数的水仙花数。

2、我们需要遍历这个范围内的所有数字,对于每一个数字,我们需要计算它的每一位上的数字的立方和。

3、我们需要判断这个立方和是否等于原来的数字,如果相等,那么这个数字就是水仙花数。

以下是具体的C语言代码

#include <stdio.h>
#include <math.h>
int main() {
    int i, n, temp, sum, digit;
    // 设置查找范围为3位数
    for (i = 100; i <= 999; i++) {
        temp = i;
        sum = 0;
        // 计算每一位上的数字的立方和
        while (temp != 0) {
            digit = temp % 10;
            sum += pow(digit, 3);
            temp /= 10;
        }
        // 判断立方和是否等于原来的数字
        if (sum == i) {
            printf("%d 是水仙花数
", i);
        }
    }
    return 0;
}

这段代码会打印出所有的3位数水仙花数,如果你想查找其他位数的水仙花数,只需要修改循环的范围即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。