3.编程题(20分)'题目:编写程序,在+100999=+位整数范围内找出水仙花数?

 我来答
豫人求职
2023-03-07 · 百度认证:河南省商之荣软件技术有限公司
豫人求职
向TA提问
展开全部

题目描述:

编写程序,在+100999=+位整数范围内找出所有的水仙花数。

解题思路:

水仙花数指一个n位十进制数,其各位数字的n次方之和等于该数本身。因此,我们可以使用循环遍历的方式,在+100999=+位整数范围内找出所有的水仙花数,并输出结果。

具体实现步骤如下:

  • 使用一个循环,遍历所有+100999=+位整数。

  • 将当前数字拆分为各个位数,计算各位数字的n次方之和。

  • 如果该数字等于各位数字的n次方之和,则将其输出。

  • 以下是C语言实现代码:

#include <stdio.h>

// 求n的m次方
int power(int n, int m) {
int result = 1;
for (int i = 0; i < m; i++) {
result *= n;
}
return result;
}

int main() {
for (int i = 100; i <= 999; i++) {
int sum = 0;
int temp = i;
while (temp > 0) {
int digit = temp % 10;
sum += power(digit, 3);
temp /= 10;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}

在上述代码中,我们定义了一个power函数,用于计算一个数字的n次方,其中n和m分别表示数字和次方数。在main函数中,我们使用一个循环遍历所有+100999=+位整数,并计算各位数字的3次方之和。如果该数字等于各位数字的3次方之和,则将其输出。最终输出结果如下:

153
370
371
407


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式