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
AC × 3
AC × 7
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