Submission #2306823
Source Code Expand
#include <iostream> #include <algorithm> #include <string> #include <string.h> #include <queue> #include <map> #include <utility> #include<math.h> #include <iomanip> #include<vector> #define ll long long #define ull unsigned long long #include<numeric> #include <map> using namespace std; int n; #define maxSiz 1000 int is_prime[maxSiz+5]; vector <int> primes; void sieve(int siz=maxSiz){ primes.clear(); memset(is_prime,true,sizeof is_prime); is_prime[0]=is_prime[1]=false; for(int i=4;i<=siz;i+=2) is_prime[i]=false; for(int i=3;i*i<=siz;i+=2) if(is_prime[i]) for(int j=i*2;j<=siz;j+=i) is_prime[j]=false; for(int i=0;i<=siz;i++)if(is_prime[i]) primes.push_back(i); } int factN_pow(int n,long long p){ int prime=p; int cnt=0; while(p<=n){ cnt+=(n/p); p*=prime; } return cnt; } vector <pair<int,int> > num_fact; void numFact(int m){ num_fact.clear(); int cnt=0; for(int i=0;i<primes.size() && primes[i]*primes[i]<=m;i++){ if(m%primes[i]==0){ cnt=0; while(m%primes[i]==0){ cnt++; m/=primes[i]; } num_fact.push_back(make_pair(primes[i],cnt)); } } if(m>1) num_fact.push_back(make_pair(m,1)); } int factPrimePower(int prime,int n){ int ret=0; for(int i=prime;i<=n;i*=prime) ret+=n/i; return ret; } vector <pair<int,int> >fact_factorization; int arr_fact[1000]; void factFactorization(int num){ memset(arr_fact,-1,sizeof arr_fact); fact_factorization.clear(); int temp; for(int i=0;i<primes.size() && primes[i]<=num;i++){ temp=factPrimePower(primes[i],num); if(temp) arr_fact[primes[i]]=fact_factorization.size(),fact_factorization.push_back(make_pair(primes[i],temp)); } } int main() { std::ios::sync_with_stdio(false); cin>>n; sieve(); factFactorization(n); long long ans=1; for(int i=0;i<fact_factorization.size();i++){ ans=(ans*(fact_factorization[i].second+1))%(1000000000+7); } cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Factors of Factorial |
User | vjudge3 |
Language | C++14 (GCC 5.4.1) |
Score | 300 |
Code Size | 2085 Byte |
Status | AC |
Exec Time | 1 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 | 1 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 | 1 ms | 256 KB |
subtask_1_certain_04.txt | AC | 1 ms | 256 KB |
subtask_1_rand_01.txt | AC | 1 ms | 256 KB |
subtask_1_rand_02.txt | AC | 1 ms | 256 KB |
subtask_1_rand_03.txt | AC | 1 ms | 256 KB |