输入一个数字,判断是否是完数

完数:

如果一个正整数m的所有小于m的不同因子加起来正好等于m本身,那么就称它为完全数。例如,6就是一个完全数,是因为6=1+2+3。请编写一个程序,判断从系统给出的整数是否是完全数。

问题的关键就是求出正整数m的所有因子,如果m%i==0,那么i就是它的因子。

#include
int main()
{	
	int n = 0;
	int i = 0;
	int sum = 0;
	printf("请输入一个数字:");
	scanf("%d", &n);
	for (i = 1;i < n;i++)
	{
		if (n % i == 0) //求出n的所有因子
			sum = sum + i;  //加到sum中
	}
	if (sum == n)
		printf("是完数"); //如果sum的值等于输入的那个数字,是完数
	else
		printf("不是完数");//否则不是
	return 0;
}

你可能感兴趣的:(C语言学习,c语言)