【算法练习】(12)完数和盈数
2018-03-06 14:21
288 查看
题目描述
一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。
求出2到60之间所有“完数”和“盈数”。
输入描述:
题目没有任何输入。
输出描述:
输出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ……(ei为完数) G: g1 g2 g3
……(gi为盈数) 其中两个数之间要有空格,行尾不加空格。
代码实现:
一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。
求出2到60之间所有“完数”和“盈数”。
输入描述:
题目没有任何输入。
输出描述:
输出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ……(ei为完数) G: g1 g2 g3
……(gi为盈数) 其中两个数之间要有空格,行尾不加空格。
代码实现:
#include<iostream> using namespace std; // 求出某数的约数之和 int sum(int a){ int s=0; for(int i=1;i<a;i++){ if(a%i==0)s+=i; } return s; } int main(){ cout<<"E:"; for(int i=2;i<=60;i++){ if(i==sum(i)) cout<<" "<<i; } cout<<endl; cout<<"G:"; for(int i=2;i<=60;i++){ if(i<sum(i)) cout<<" "<<i; } return 0; }
相关文章推荐
- 算法练习(12) —— Different Ways to Add Parentheses
- 剑指offer-算法题练习:part12 数值的整数次方
- 算法练习12
- 算法每日练习之判断完数
- 算法练习 12 :约会
- 算法笔记_082:蓝桥杯练习 12-1三角形(Java)
- 算法练习(12):Longest Valid Parentheses
- 2018年全国多校算法寒假训练营练习比赛(第五场)比赛题目题解
- 经典面试问题:12小球问题算法(文档)
- [算法练习]字符.字符串删除,字符提前
- 51nod 算法马拉松12
- 算法-第四版-练习1.3.14解答
- 51Nod 算法马拉松12 Rikka with sequences
- 【算法竞赛入门经典】树形DP 例题9-12 UVa12186
- 经典面试问题:12小球问题算法(源码)
- SSH与SSM学习之SSH实现CRM练习12——文件上传原理
- 算法练习 1:股神
- 算法练习 之0918
- 2018年全国多校算法寒假训练营练习比赛(第二场) G 送分了QAQ 【打表 + find】
- 算法练习(22):Maximum Sum of 3 Non-Overlapping Subarrays