#include <iostream> #include <vector> #include <cstring> using namespace std; typedef long long LL; const int MOD = 987654321; const int N = 100005; bool isPrime[N]; vector<int> Prime; void init() { memset(isPrime, 0, sizeof(isPrime)); for (int i = 2; i < N; i++) { if (isPrime[i]) continue; for (int j = i * 2; j < N; j += i) { isPrime[j] = true; } } for (int i = 2; i < N; i++) { if (!isPrime[i]) Prime.push_back(i); } } int main() { LL n; init(); while (cin >> n) { LL ret = 1; for (int i = 0; i < Prime.size(); i++) { LL tmp = 1; while (tmp <= n) { tmp *= Prime[i]; } if (tmp > n) tmp /= Prime[i]; ret *= tmp; ret %= MOD; } cout << ret << endl; } return 0; }
点赞 1

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务