C言語:入力された数値の範囲内で完全な数値を求めます。

#include<stdio.h>
int main()
{
	int n=0,i=0,sum;
	int number;
	scanf("%d",&number);
	for (n = 2; n <number; n++)
	{
		sum = 0;
		for (i = 1; i < n; i++)
		{
			if (n%i == 0)
			{
				sum += i;
			}
		}
		if (sum == n)
		{
			printf("Prefectnumber %d its factors are ", n);//factors表示因子
			for (i = 1; i < n; i++)
			{
				if (n%i == 0)
				{
				printf("%d ", i);
			}
			}
			printf("\n");
		}
	}
		return 0;
}

for ループを使用して数値の因数を取得し、その合計を求めて、元の数値と等しいかどうかを判断します。等しい場合は、その因数を見つけます。


おすすめ

転載: blog.csdn.net/samxiaoguai/article/details/78587679