九度 题目1050:完数
2014-07-25 14:54
190 查看
题目来源:http://ac.jobdu.com/problem.php?pid=1050
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:6091
解决:2518
题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
输入:
测试数据有多组,输入n,n数据范围不大。
输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
样例输入:
样例输出:
来源:2010年哈尔滨工业大学计算机研究生机试真题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:6091
解决:2518
题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
输入:
测试数据有多组,输入n,n数据范围不大。
输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
样例输入:
6
样例输出:
6
来源:2010年哈尔滨工业大学计算机研究生机试真题
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int arr[1010]; bool Find_PerfectNum(int n) { if(n == 1) return false; int i, a = 1; for(i = 2; i <= (n>>1); ++i) { if(n%i == 0) a += i; } if(n == a) return true; return false; } int main() { int n, i; while(~scanf("%d", &n)) { int j = 0; for(i = 2; i <= n; ++i) { if(Find_PerfectNum(i)) arr[j++] = i; } for(i = 0; i < j-1; ++i) printf("%d ", arr[i]); printf("%d\n", arr[j-1]); } return 0; }
相关文章推荐
- 九度 Online Judge 算法 刷题 题目1050:完数
- 九度oj 题目1050:完数
- 题目1050:完数
- 题目1050:完数
- 九度OJ 1050:完数 (数字特性)
- 九度OJ 1050:完数 (数字特性)
- 九度oj-1050-完数
- 题目1050:完数 题目1060:完数VS盈数
- 题目1050:完数
- 题目1050:完数
- 九度1050 完数
- 题目 1050 完数 九度Online Judge
- <C/C++基础>九度OJ题目1050--1100解题练习(三)
- 题目1050:完数
- 九度OJ—题目1050:完数
- 九度 OJ 1050:完数
- 【九度】题目1375:陈博的完美主义(25分)
- 题目1522:包含min函数的栈-九度
- 题目1512:用两个栈实现队列-九度
- 九度 题目1503:二叉搜索树与双向链表