C语言亲密数

题目描述

两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。

输入

输出

3000以内的全部亲密数(输出格式:(A,B),不加换行,不加分隔符号)
一对亲密数只输出一次, 小的在前

样例输入

样例输出

(220,284)(1184,1210)(2620,2924)
#include
int main()
{
	int a, b, c;
	for (a = 200; a < 3000; a++)
	{
		b = 0;
		for (int i = 1; i <= a / 2; i++)
			if (a % i == 0)
				b += i;
		c = 0;
		for (int j = 1; j <= b / 2; j++)
			if (b % j == 0)
				c += j;
		if (a == c && a < b)
			printf("(%d,%d)", a, b);
	}
	return 0;
}

你可能感兴趣的:(笔记,c语言)