Submission #1066985
Source Code Expand
#include <stdio.h> #include <limits.h> int main(void){ int n, p=1; scanf("%d", &n); int i, j; unsigned long long int ans=1; int s[1000]; for(i=0; i<1000; i++){ s[i]=0; } /* for(i=1; i<=n; i++){ p *= i; } int ans=0; for(i=1; i<=p; i++){ if(p%i==0){ ans++; } } */ int mem; for(i=2; i<=n; i++){ mem = i; for(j=2; j<=n; j++){ if(j==mem || mem==1){ s[mem]++; break; } if(mem%j==0){ s[j]++; mem /= j; j--; } } } //printf("1000000007\n"); //素因数分解 for(i=2; i<=n; i++){ if(s[i]!=0){ ans *= (s[i]+1); /*if(ans - 1000000007 >= 0){ do{ ans = ans -1000000007; }while(ans - 1000000007 >= 0); }*/ if(ans >= 1000000007){ ans %= 1000000007; } } } printf("%llu\n", ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Factors of Factorial |
User | proton |
Language | C (GCC 5.4.1) |
Score | 300 |
Code Size | 844 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 128 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:7:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^
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 | 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 | 128 KB |
sample_02.txt | AC | 1 ms | 128 KB |
sample_03.txt | AC | 2 ms | 128 KB |
subtask_1_certain_01.txt | AC | 1 ms | 128 KB |
subtask_1_certain_02.txt | AC | 1 ms | 128 KB |
subtask_1_certain_03.txt | AC | 2 ms | 128 KB |
subtask_1_certain_04.txt | AC | 2 ms | 128 KB |
subtask_1_rand_01.txt | AC | 2 ms | 128 KB |
subtask_1_rand_02.txt | AC | 2 ms | 128 KB |
subtask_1_rand_03.txt | AC | 1 ms | 128 KB |