Submission #3424765
Source Code Expand
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <stack>
#include <queue>
#include <functional>
#include <limits.h>
#include <set>
#include <map>
using namespace std;
#define ll long long
#define ull unsigned long long
#define rep(i,N) for (int i=0;i<N;i++)
#define loop(i,N,M) for(int i=N;i<M;i++)
//変数
ll N;
namespace mod {
ll MOD = 1000000007;
ll add(ll x, ll y) {
return (x + y) % MOD;
}
ll sub(ll x, ll y) {
return (x + MOD - (y % MOD)) % MOD;
}
ll mul(ll x, ll y) {
return ((x % MOD) * (y % MOD)) % MOD;
}
ll power(ll x, ll y) {
if (y == 0) {
return 1;
}
else if (y == 1) {
return x % MOD;
}
else if (y % 2 == 0) {
ll pow = power(x, y / 2);
return (pow * pow) % MOD;
}
else {
ll pow = power(x, y / 2);
return (((pow * pow) % MOD) * x) % MOD;
}
}
ll div(ll x, ll y) {
return mul(x, power(y, MOD - 2));
}
//階乗x~y
ll fact(ll x, ll y) {
if (x == y) {
return x;
}
else {
return mul(x, fact(x - 1, y));
}
}
//組み合わせ nCr
ll conbi(ll n, ll r) {
return div(fact(n, n - r + 1), fact(r, 1));
}
//順列 nPr
ll perm(ll n, ll r) {
return fact(n, n - r + 1);
}
//重複組合せ nHr
ll homo(ll n, ll r) {
return conbi((n + r - 1), r);
}
}
//解法
void solve() {
if (N == 1) {
cout << "1";
return;
}
map<ll, ll> mp;
for (ll num = 2; num <= N; num++) {
ll num2 = num;
for (ll i = 2; num2!=1; i++) {
if (num2%i == 0) {
mp[i]++;
num2 = num2 / i;
i--;
}
}
}
ll ans = 1;
for (auto itr = mp.begin(); itr != mp.end();++itr) {
ans = mod::mul(ans,(itr->second + 1));
}
cout << ans;
return;
}
int main() {
//入力
cin >> N;
solve();
cout << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Factors of Factorial |
User |
huma17 |
Language |
C++14 (GCC 5.4.1) |
Score |
300 |
Code Size |
1892 Byte |
Status |
AC |
Exec Time |
3 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
300 / 300 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
All |
sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_certain_01.txt, subtask_1_certain_02.txt, subtask_1_certain_03.txt, subtask_1_certain_04.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_rand_03.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
3 ms |
256 KB |
subtask_1_certain_01.txt |
AC |
1 ms |
256 KB |
subtask_1_certain_02.txt |
AC |
1 ms |
256 KB |
subtask_1_certain_03.txt |
AC |
3 ms |
256 KB |
subtask_1_certain_04.txt |
AC |
3 ms |
256 KB |
subtask_1_rand_01.txt |
AC |
2 ms |
256 KB |
subtask_1_rand_02.txt |
AC |
2 ms |
256 KB |
subtask_1_rand_03.txt |
AC |
2 ms |
256 KB |