首页 > 编程 > C++ > 正文

[华为OJ--C++]036-iNOC产品部–完全数计算

2019-11-08 03:08:26
字体:
来源:转载
供稿:网友

题目描述:

完全数(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;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选