hdoj2010解题报告
2014-01-25 21:21
429 查看
Problem Description
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。
Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。
Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
#include <cstdio> bool issxh(int n) { int sum = 0; int m = n; while (n > 0) { int tmp = n % 10; sum += tmp * tmp * tmp; n /= 10; } return (sum == m); } int main() { int x, y; while (scanf("%d %d", &x, &y) != EOF) { bool a = false; for (int i = x; i <= y; i++) { if (issxh(i)) { if (a == false) { a = true; printf("%d", i); } else { printf(" %d", i); } } } if (!a) printf("no"); printf("\n"); } return 0; }
相关文章推荐
- dojo实现省份地市级联报错(二)
- JAVA GUI PART1 记事本程序 极其简易版
- dojo实现省份地市级联报错(二)
- hdoj2010解题报告
- oracle学习笔记2:创建修改表
- dojo实现省份地市级联报错(一)
- Trademiner, Stocks, Futures & Forex!
- POJ 3352 Road Construction
- dojo实现省份地市级联报错(一)
- POJ 3352 Road Construction
- ARM学习笔记10——GNU ARM命令行工具
- 创业公司商业计划书
- HDU 2159
- codeforces Bear and Raspberry
- No result defined for action cn.itcast.oa.struts2.action.RoleAction and result input
- R语言之假设检验篇
- POJ 2112 二分+网络流
- POJ 2112 floyd+二分最大流
- Arduino之舵机控制
- Linux下man命令查询的时候遇到重名的命令/函数怎么办?