fork(17) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define lli long long
  5. #define DEBUG(x) cout<<">value ("<<#x<<") : "<<x<<endl;
  6. #define mod 1000000007
  7. #define pb push_back
  8.  
  9. const int limit = 100005;
  10.  
  11. vector<bool> prime(limit,true);
  12. vector<int> primes;
  13. void seive(){
  14. for(int i=2;i<limit;i++){
  15. if(prime[i]){
  16. primes.pb(i);
  17. for(int j=i;j<limit;j+=i){
  18. prime[j]=false;
  19. }
  20. }
  21. }
  22. return;
  23. }
  24.  
  25. int get(int n,int p){
  26. int ans = 0;
  27. lli cur = (long long)p;
  28. while(true){
  29. int temp = n/cur;
  30. if(temp==0) break;
  31. ans += temp;
  32. cur *= (long long)p;
  33. }
  34. return ans;
  35. }
  36.  
  37. int main() {
  38. int t,n;
  39. seive();
  40. scanf("%d",&t);
  41. while(t--){
  42. scanf("%d",&n);
  43. lli ans = 1;
  44. for(int i=0;i<primes.size();i++){
  45. int loc = get(n,primes[i]);
  46. loc++;
  47. ans = ( (ans%mod)*((long long)loc%mod))%mod;
  48. }
  49. printf("%lld\n",ans);
  50. }
  51. }
  52.  
  53.  
Success #stdin #stdout 0s 3236KB
stdin
3
2
3
4
stdout
2
4
8