View Code of Problem 68

//第五章习题第四道
//By Jun

#include <stdio.h>

int main() {
	int i, j, sum1, sum2;
	sum1 = sum2 = 0;
	//sum1表示伪亲密数,sum2表示伪亲密数的因子和 
	for (i = 2; i <= 1000; i++)
	{
		for (sum1 = 0, j = 2; j < i; j++)//求这个数的伪亲密数
		{
			if (i % j == 0)
			{
				sum1 = sum1 + j;
			}
		}
		for (sum2 = 0, j = 2; j < sum1; j++)//求得伪亲密数,求其因子和
		{
			if (sum1 % j == 0)
			{
				sum2 = sum2 + j;
			}
		}
		if (sum2 == i && sum1 != i)//判断伪亲密数是否是真亲密数
		{
			printf("%d~%d\n", i, j);
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 68