HDU 1215(七夕节)

由于数据过大,使用基本的判断余数法会超时,需要先打表。

#include <iostream>
using namespace std;
const int MAXN = 500005;
int arr[MAXN];

int main()
{
	for (int i = 1; i < MAXN / 2; i++)
	{
		for (int j = i * 2; j < MAXN; j += i)
			arr[j] += i;
	}

	int T;
	int n;
	cin >> T;
	while (T--)
	{
		cin >> n;
		cout << arr[n] << endl;
	}
	return 0;
}

继续加油。

发布了138 篇原创文章 · 获赞 1 · 访问量 6996

猜你喜欢

转载自blog.csdn.net/Intelligence1028/article/details/104638492