Submission #1067351


Source Code Expand

#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

const long long N 168;
const long long M 1000000007;

#define REP(i,n) for (int i=0;i<(n);i++)
#define PII pair<int,int>
#define LL long long

LL prime[168]={
  2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 , 53 , 59 , 61 , 67 , 71 , 73 , 79 , 83 , 89 , 97 , 101 , 103 , 107 , 109 , 113 , 127 , 131 , 137 , 139 , 149 , 151 , 157 , 163 , 167 , 173 , 179 , 181 , 191 , 193 , 197 , 199 , 211 , 223 , 227 , 229 , 233 , 239 , 241 , 251 , 257 , 263 , 269 , 271 , 277 , 281 , 283 , 293 , 307 , 311 , 313 , 317 , 331 , 337 , 347 , 349 , 353 , 359 , 367 , 373 , 379 , 383 , 389 , 397 , 401 , 409 , 419 , 421 , 431 , 433 , 439 , 443 , 449 , 457 , 461 , 463 , 467 , 479 , 487 , 491 , 499 , 503 , 509 , 521 , 523 , 541 , 547 , 557 , 563 , 569 , 571 , 577 , 587 , 593 , 599 , 601 , 607 , 613 , 617 , 619 , 631 , 641 , 643 , 647 , 653 , 659 , 661 , 673 , 677 , 683 , 691 , 701 , 709 , 719 , 727 , 733 , 739 , 743 , 751 , 757 , 761 , 769 , 773 , 787 , 797 , 809 , 811 , 821 , 823 , 827 , 829 , 839 , 853 , 857 , 859 , 863 , 877 , 881 , 883 , 887 , 907 , 911 , 919 , 929 , 937 , 941 , 947 , 953 , 967 , 971 , 977 , 983 , 991 , 997
};

void pf(LL n,LL* count){
  // cout<<n<<"=";
  REP(i,N){
    if(prime[i]/2>n) break;
    while(n%prime[i]==0){
      //  cout<<prime[i]<<"*";
      n/=prime[i];
      count[i]++;
    }
  }
  //cout<<"1\n"<<endl;
}

  

int main(){
  LL n;
  cin>>n;
  LL count[168];
  REP(i,168){
    count[i]=0;
  }

  for(LL i=2;i<=n;i++){
    pf(i,count);
  }

  LL ret=1;
  REP(i,N){
    ret=((ret%M)*((count[i]+1)%M));
  }
  
  cout<<ret<<endl;
  

  return 0;
}

Submission Info

Submission Time
Task C - Factors of Factorial
User malony_0
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1742 Byte
Status CE

Compile Error

./Main.cpp:7:19: error: expected initializer before numeric constant
 const long long N 168;
                   ^
./Main.cpp:8:19: error: expected initializer before numeric constant
 const long long M 1000000007;
                   ^
./Main.cpp: In function ‘void pf(long long int, long long int*)’:
./Main.cpp:20:9: error: ‘N’ was not declared in this scope
   REP(i,N){
         ^
./Main.cpp:10:34: note: in definition of macro ‘REP’
 #define REP(i,n) for (int i=0;i<(n);i++)
                                  ^
./Main.cpp: In function ‘int main()’:
./Main.cpp:46:9: error: ‘N’ was not declared in this scope
   REP(i,N){
         ^
./Main.cpp:10:34: note: in definition of macro ‘REP’
 #define REP(i,n) for (int i=0;i<(n);i++)
                                  ^
./Main.cpp:47:15: error: ‘M’ was not declared in this scope
     ret=((ret%M)*((count[i]+1)%M));
               ^