C语言计算所有N位水仙花数

编程入门 行业动态 更新时间:2024-10-14 04:25:44

C语言计算所有N位<a href=https://www.elefans.com/category/jswz/34/1765352.html style=水仙花数"/>

C语言计算所有N位水仙花数

来自武科大 oj 的一道简单题。

Description

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。

例如:153 = 1^3+ 5^3+ 3^3153=13+53+33

要求编写程序,计算所有N位水仙花数。

Input

一个正整数N(3≤N≤8)

Output

按递增顺序输出所有N位水仙花数,每个数字占一行。

枚举法遍历,找出符合条件的数即可。代码如下。

#include <stdio.h>
//定义一个求数的N次幂函数,接收两个参数,num 数字和 times 幂的次数
int pow(int num, int times) {int temp = num;for (int i = 1; i < times; i++) {num *= temp;}return num;
}
int main() {int N, min, max;scanf("%d", &N);//min max 为上下界min = pow(10, N - 1);max = pow(10, N);for (int i = min; i < max; i++) {int num = i;int sum = 0;//循环求数字的每个位数的N次幂的和while (num > 0){sum += pow(num % 10, N);num /= 10;}//相等即为水仙花数if (i == sum) {printf("%d\n", i);}}return 0;
}

更多推荐

C语言计算所有N位水仙花数

本文发布于:2024-03-10 20:53:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1729008.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:水仙花   语言

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!