Submission #1066108
Source Code Expand
#include <stdio.h> #include <stdlib.h> int main(){ int N; int i,j; int k; int *is_prime; int *soinsu; long int ans = 1; scanf("%d", &N); is_prime = (int*)malloc(sizeof(int) * (N+1)); soinsu = (int*)malloc(sizeof(int) * (N+1)); is_prime[0] = is_prime[1] = 0; for(i=2; i < N+1; i++){ is_prime[i] = 1; } for(i=0; i<=N; i++){ soinsu[i] = 0; } // Find prime numbers for(i=2; i*i <= N; i++){ for(j=2; i*j <= N; j++){ is_prime[i*j] = 0; } } // i=1,2,3,4,...,Nの素因数を求めていく。 for(i=2; i<=N; i++){ k = i; for(j=2; j<=N; j++){ if(is_prime[j] == 1){ while(k % j == 0){ k /= j; soinsu[j]++; } } } } for(i=2; i <= N; i++){ if(soinsu[i] != 0){ ans *= soinsu[i] + 1; ans %= (int)(1e9+7); } } printf("%ld\n", ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Factors of Factorial |
User | sanoyatsu |
Language | C (GCC 5.4.1) |
Score | 300 |
Code Size | 874 Byte |
Status | AC |
Exec Time | 4 ms |
Memory | 128 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:12: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 | 3 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 | 4 ms | 128 KB |
subtask_1_certain_04.txt | AC | 4 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 | 2 ms | 128 KB |