能被1到n的整数整除的数

能被1到n的整数整除的数

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

bool isPrime(int n) {

	if (n < 2)
		return false;

	for (int i = 2; i <= (int) sqrt((double) n); i++) {

		if (n % i == 0)
			return false;
	}

	return true;
}

int main(void)
{
	int n;
	cin >> n;
	vector<int> v;
	long long result = 1;

	for (int i = 0; i <= n; i++)
	{
		if (isPrime(i))
		{
			v.push_back(i);
		}


	}
	for (auto &i : v) {
		int p = i;
		while (p * i <= n)
			p *= i;
			
		result *= p;
	}
	cout << result % 987654321 << endl;

	return 0;
}
Written on April 9, 2018