Problem Statement
You are given an integer N. Find the number of the positive divisors of N!, modulo 109+7.
Constraints- 1≤N≤103
The input is given from Standard Input in the following format:
N
Output
Print the number of the positive divisors of N!, modulo 109+7.
Sample Input 13Sample Output 1
4
There are four divisors of 3! =6: 1, 2, 3 and 6. Thus, the output should be 4.
Sample Input 26Sample Output 2
30Sample Input 3
1000Sample Output 3
972926972
#include<cstdio>
#include<cstring>
using namespace std;
static const long long int INF=1e9+7;
int main()
{
int n;
int a[10004];
while(scanf("%d",&n)!=EOF)
{
memset(a,0,sizeof(a));
for(int i=2;i<=n;i++)
{
int m=i;
for(int j=2;j<=m;j++)
{
while(m%j==0)
{
a[j]++;
m/=j;
}
}
if(m!=1)
a[m]++;
}
long long int ans=1;
for(int i=1;i<=n;i++)
{
if(a[i]!=0)
ans=(ans*(a[i]+1))%INF;
}
printf("%lld\n",ans);
}
return 0;
}