C语言:完数

时间:2025-02-07 14:09:37

输出格式

输出在1~n之间有多少完数。

判断完数函数

int wanshu(int n)
{
	int i;
	int sum=0;
	for(i=1;i<n;i++)
	{
		if(n%i==0)
		{
			sum+=i;
		}
	}
	if(sum==n)
	{
		return 1;
	}else{
		return 0;
	}
}

完整代码

#include <>
#include <>
#include <>
int wanshu(int n)
{
	int i;
	int sum=0;
	for(i=1;i<n;i++)
	{
		if(n%i==0)
		{
			sum+=i;
		}
	}
	if(sum==n)
	{
		return 1;
	}else{
		return 0;
	}
}
int main()
{
	int n;
	scanf("%d",&n); //输入
	
	int i;
	int s=0; //计数
	for(i=1;i<=n;i++) //循环
	{
		if(wanshu(i)==1)
		{
			s++;
		}
	}

	printf("%d",s);
	return 0;
}