九度OJ--1050(计算n以内的完数)
2013-03-20 11:09
267 查看
完数的定义:
一个数如果恰好等于它的因子之和,这个数就称为”完数”,例如:6的因子是1,2,3,而6=1+2+3,因此6是完数.在比如说,28能被1、2、4、7、14整除,而1+2+4+7+14=28,则28就是完数。总之,就是说完数是与其因子和相等的数。
那么比所有因子和大的数就是盈数,比说有因子和小的数就是亏数。
那什么是因子呢?就是能整除该数的数字。因子一定小于等于该数。
一个数如果恰好等于它的因子之和,这个数就称为”完数”,例如:6的因子是1,2,3,而6=1+2+3,因此6是完数.在比如说,28能被1、2、4、7、14整除,而1+2+4+7+14=28,则28就是完数。总之,就是说完数是与其因子和相等的数。
那么比所有因子和大的数就是盈数,比说有因子和小的数就是亏数。
那什么是因子呢?就是能整除该数的数字。因子一定小于等于该数。
#include<iostream> using namespace std; int main() { int n; while(cin>>n){ int space=0; for(int i=5;i<=n;i++){ //因6以内的完数只有6;从5开始检测 int sum=0; for(int k=1;k<=i/2;k++){ //k不能为0,否则溢出 if(i%k==0) sum+=k; } if(sum==i){ if(space) cout<<" "; //空格的控制,最后不能多输出空格,否则PE cout<<i; space=1; } } cout<<endl; } return 0; }
相关文章推荐
- 计算1000以内的完数
- OpenMP并行计算程序设计-n以内的完数的个数
- 计算并输出1000以内的所有“完数”之和
- 计算1000以内的完数
- 九度OJ—题目1050:完数
- C++的速度比Java快2.1%:来自计算100万以内质数的实验数据对比
- 编程找出1000以内的所有完数。
- 九度oj-1050-完数
- 找出1000以内的所有完数。
- 10月25日 c语言 找到10000以内所有完数
- 1000以内所有的完数
- 分别计算100以内的奇数之和和偶数之和
- 《求1000以内的完数——JAVA第四周》
- 用unity来写 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数
- 【C】计算100以内的整数中出现9的次数
- 1000以内的完数和(第十周上机任务)
- 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。(java)
- 计算1到100以内前5个能被3整除的数字
- 计算100以内所有奇数的和以及所有偶数的和;分别显示之
- 编程找出1000以内的所有完数