题解 | #完全数计算#

完全数计算

https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Perfectnumber(int digit)//判断这个数字是不是完美数
{
	int sum = 0;
	for (int i = 1; i < digit; i++)//从1到这个数值本身
	{
		if (digit % i == 0 && digit != i)//这里是计算符合条件的数值的相加
		{
		  sum += i;
		}
	}
	if (sum == digit)
		return 1;
	else
		return 0;//也就是没有返回不完美的情况 所以导致开始写代码判断的时候 出现错误
}
void Traverse(int n)//遍历
{
	int count = 0;
	for (int i = 1; i <= n; i++)
	{
		if (Perfectnumber(i) == 1)
			count++;
	}
	printf("%d", count);
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	Traverse(n);
	return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务