04-1. 水仙花数(20)
2014-07-27 17:12
288 查看
水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例 如:153 = 13 + 53+ 33。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3<=N<=7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:
输出样例:
3
输出样例:
153370
371
407
#include <stdio.h> int main() { int n; scanf("%d", &n); int i, low = 1, high; //low表示n位数的最小数,high表示n位数的最大数 for(i = 1; i < n; i++) { low *= 10; } high = low * 10; for(i = low; i < high; i++ ) { //从最小数到最大数逐一遍历 int t = i; int sum = 0; do { int r = t % 10; //r为数的末尾数字 t /= 10; int j, b = r; for(j = 1; j < n; j++) { //让r自乘最后得到r的n次方 r *= b; } sum += r; } while(t > 0); if(sum == i) { //让r的n次方和i比较 printf("%d\n", i); } } return 0; }
相关文章推荐
- 04-1. 水仙花数(20)
- 04-1. 水仙花数(20)
- 04-1. 水仙花数(20)
- 04-1. 水仙花数(20)
- 04-1. 水仙花数(20)
- 循环-11. 水仙花数(20)
- 【Java学习之代码学习】 Prog04_水仙花数问题
- 循环-11. 水仙花数(20)
- 循环-11. 水仙花数(20)
- 循环-11. 水仙花数(20)<偷懒版>
- 04-3. 统计素数并求和(20)
- http://www.cnblogs.com/yycxbjl/archive/2010/04/20/1716689.html
- 循环-04. 验证“哥德巴赫猜想”(20)
- 4-1. 水仙花数(20)
- 循环-04. 验证“哥德巴赫猜想”(20)
- 循环-11. 水仙花数(20)
- 水 hdu5208 2015-04-20 21:03 36人阅读 评论(0) 收藏
- 循环-11. 水仙花数(20)
- GZIP压缩原理分析(20)——第五章 Deflate算法详解(五11) 算法分析(05) 格式说明(04) 动态哈夫曼编码
- 【04-20】httpclient处理302重定向问题