进阶习题:1到N的最小公倍数
已完成
这一天小明学习了最小公倍数的知识,于是他想知道,1到一个数N之间所有整数的最小公倍数是多少呢?
聪明的你想要帮助小明解决这个问题,但老师提醒道,这个数可能会非常大,于是你决定将它对1000000007取模。
输入格式
输入一个正整数N,表示数字的上界。其中2≤N≤10000。
输出格式
输出一个数,表示这个最小公倍数取模后的结果。
输入样例
4
输出样例
12
数据范围
对于10%的数据,2≤N≤5; 对于30%的数据,2≤N≤100; 对于100%的数据,2≤N≤10000;
51nod标程:
1−n1−n 的最小公倍数,是由 1−n1−n 中包含的质数的最高次幂决定的。例如 1−101−10 的最小公倍数为 25202520 ,包括了:
23,32,51,7123,32,51,71
把这些最高次幂乘在一起就是最终要求的结果,因此求出 1−n1−n 的质数,以及对应的最高幂次,就是最终的结果。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll Mod = 1000000007;
bool IsPrime(int n) {
for (int i = 2; i * i <= n; i++)
if (n % i =&#