水仙花数是指一个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位数水仙花数,如果你想查找其他位数的水仙花数,只需要修改循环的范围即可。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)