水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
(图片来源网络,侵删)以下是用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位数水仙花数,如果你想查找其他位数的水仙花数,只需要修改循环的范围即可。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。