九度oj 题目1050:完数
2017-02-24 21:42
239 查看
题目1050:完数
时间限制:1秒
内存限制:32兆
特殊判题:否
提交:8778
解决:3612
题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
输入:
测试数据有多组,输入n,n数据范围不大。
输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
样例输入:
样例输出:
时间限制:1秒
内存限制:32兆
特殊判题:否
提交:8778
解决:3612
题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
输入:
测试数据有多组,输入n,n数据范围不大。
输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
样例输入:
6
样例输出:
6
#include<iostream> #include<cstdio> #include<vector> #include<cmath> usingnamespacestd; intmain(){ intn,sum,i,j,k; vector<int>v; while(cin>>n){ v.clear(); for(i=2;i<=n;i++){ sum=1; for(j=2;j<=sqrt(i);j++){ if(i%j==0){ if(j*j==i) sum+=j; else sum+=(j+i/j); } } if(sum==i) v.push_back(i); } cout<<v[0]; for(k=1;k<v.size();k++) cout<<""<<v[k]; cout<<endl; } return0; }
相关文章推荐
- 九度OJ 1050:完数 (数字特性)
- 九度OJ 1050:完数 (数字特性)
- <C/C++基础>九度OJ题目1050--1100解题练习(三)
- 九度 OJ 1050:完数
- 九度 Online Judge 算法 刷题 题目1050:完数
- 九度 题目1050:完数
- 九度oj-1050-完数
- 九度OJ-题目1035 找出直系亲属
- 九度OJ 题目1002:Grading
- 九度OJ 题目1197:奇偶校验
- 九度OJ 题目1069:查找学生信息
- 题目1088:剩下的树 九度OJ
- 九度OJ题目1015:还是A+B
- 九度OJ题目1034:寻找大富翁
- 九度OJ题目1036:Old Bill
- 九度OJ 题目1068:球的半径和体积
- 九度OJ题目1087:约数的个数
- 九度OJ 题目1098:字母统计
- 九度OJ 题目1097:取中值
- 九度OJ 题目1188:约瑟夫环