一道水题
問題 D: #6165. 一道水題
時間限制: 1 Sec 內存限制: 128 MB提交: 9 解決: 4
[提交][狀態][討論版][命題人:外部導入]
題目描述
一天,szb 在上學的路上遇到了灰太狼。
灰太狼:幫我們做出這道題就放了你。
szb:什么題?
灰太狼:求一個能被 [1,n][1,n][1,n] 內所有數整除的最小數字,并對 100000007100000007100000007 取模。
szb:這題太水了,就讓我小弟來做好了。
然后你就光榮的接受了這個任務。
輸入格式
一行一個數 nnn。
輸出格式
一行一個數 ans\text{ans}ans。
樣例
樣例輸入
10樣例輸出
2520數據范圍與提示
n≤108n\leq 10^8n≤108
#include<iostream>??
#include<cstdio>??
#include<cstring>??
using namespace std;??
typedef long long ll;??
const int maxn = 100000004;??
const int mod = 1e8+7;??
int n, cnt, p[6200000];??
bool vis[maxn];??
??
int main(void)??
{??
? ? scanf("%d", &n);??
? ? ll ans = 1;??
? ? for(int i = 2; i <= n; i++)??
? ? {??
? ? ? ? if(!vis[i])??
? ? ? ? {??
? ? ? ? ? ? p[cnt++] = i;??
? ? ? ? ? ? for(ll s = i; s <= n; s *= i)??
? ? ? ? ? ? ? ? ans = ans*i%mod;??
? ? ? ? }??
? ? ? ? for(int j = 0; j < cnt; j++)??
? ? ? ? {??
? ? ? ? ? ? ll v = i*p[j];??
? ? ? ? ? ? if(v > n) break;??
? ? ? ? ? ? vis[v] = 1;??
? ? ? ? ? ? if(i%p[j] == 0) break;??
? ? ? ? }??
? ? }??
? ? printf("%lld\n", ans);??
? ? return 0;??
}??
總結
- 上一篇: QT的QTreeWidget节点触发事件
- 下一篇: Markdown数学公式语法、常用符号与