C语言水仙花数与变种水仙花数代码怎么写

发布时间:2022-05-13 09:30:03 作者:iii
来源:亿速云 阅读:647

C语言水仙花数与变种水仙花数代码怎么写

1. 水仙花数简介

水仙花数(Narcissistic number)是指一个n位数,其每个位上的数字的n次幂之和等于它本身。例如,153是一个3位数的水仙花数,因为1³ + 5³ + 3³ = 153。

2. 水仙花数的C语言实现

下面是一个简单的C语言程序,用于找出所有3位数的水仙花数:

#include <stdio.h>
#include <math.h>

int main() {
    int num, originalNum, remainder, result = 0;

    printf("三位数的水仙花数有:\n");

    for (num = 100; num < 1000; num++) {
        originalNum = num;
        result = 0;

        while (originalNum != 0) {
            remainder = originalNum % 10;
            result += pow(remainder, 3);
            originalNum /= 10;
        }

        if (result == num) {
            printf("%d\n", num);
        }
    }

    return 0;
}

代码解释:

程序通过循环遍历所有3位数,计算每个数的各位数字的立方和,如果等于原数,则输出该数。

3. 变种水仙花数简介

变种水仙花数是指一个n位数,其每个位上的数字的m次幂之和等于它本身,其中m不一定是n。例如,8208是一个4位数的变种水仙花数,因为8⁴ + 2⁴ + 0⁴ + 8⁴ = 8208。

4. 变种水仙花数的C语言实现

下面是一个C语言程序,用于找出所有4位数的变种水仙花数:

#include <stdio.h>
#include <math.h>

int main() {
    int num, originalNum, remainder, result = 0;

    printf("四位数的变种水仙花数有:\n");

    for (num = 1000; num < 10000; num++) {
        originalNum = num;
        result = 0;

        while (originalNum != 0) {
            remainder = originalNum % 10;
            result += pow(remainder, 4);
            originalNum /= 10;
        }

        if (result == num) {
            printf("%d\n", num);
        }
    }

    return 0;
}

代码解释:

5. 总结

通过上述代码,我们可以轻松地找到水仙花数和变种水仙花数。这些代码展示了如何使用循环和条件判断来解决数学问题。你可以根据需要修改代码中的位数和幂次,以查找其他类型的水仙花数。

推荐阅读:
  1. Python水仙花数的编程代码写法
  2. 求水仙花数的c语言代码分享

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言

上一篇:Pytorch深度学习经典卷积神经网络resnet模块实例分析

下一篇:Arrays.sort()使用的注意事项有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》