Problem:
Score : 300 points

Problem Statement

You are given an integer N.
Find the number of the positive divisors of N!, modulo 10^9+7.

Constraints

1≤N≤10^3

Input

The input is given from Standard Input in the following format:

N

Output

Print the number of the positive divisors of N!, modulo 10^9+7.

Sample Input 1

3

Sample Output 1

4

There are four divisors of 3! =6: 1, 2, 3 and 6. Thus, the output should be 4.

Sample Input 2

6

Sample Output 2

30

Sample Input 3

1000

Sample Output 3

972926972

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)


import java.util.Scanner;

public class Main {

    public static void main(String args[]) throws Exception
    {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long answer =1;
        int modulo = 1000000007;

      //  HashMap<Integer,Integer> map = new HashMap<>();

        for(int i=2;i<=n;i++){
            if(isPrime(i)){
                answer *= (calFactors(n,i)+1);
                if(answer>modulo){
                    answer = answer%modulo;
                }
            }
        }


        System.out.print(answer);

        sc.close();
    }

    private static boolean isPrime(int x){
        for(int i=2;i<x;i++){
            if(x%i==0) return false;
        }
        return true;
    }

    private static int calFactors(int n,int base){
        int ret = 0;
        int tmp = base;
        while(tmp<=n) {
            ret +=  Math.floor( n / tmp);
            tmp *=base;
        }

        return ret;
    }

}