题目描述:
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。输入n,计算n以内(含n)完全数的个数。计算范围, 0 < n <= 500000,返回n以内完全数的个数。
输入描述:输入一个数字输出描述:输出完全数的个数输入例子:1000输出例子:3算法实现:#include<iostream>#include<vector>using namespace std;/************************************************ * Author: 赵志乾 * Date: 2017-2-17 * Declaration: All Rigths Reserved !!! ***********************************************/bool check(int data){ int sum=0; for(int j=1;j<data;j++) { if(data%j==0) sum+=j; } if(sum==data) return true; return false;}int main(){ int n; cin>>n; int ret=0; for(int i=2;i<=n;i++) { if(check(i)) ret++; } cout<<ret<<endl; return 0;}
新闻热点
疑难解答
图片精选