Don't copy without trying. # include <bits/stdc++.h> using namespace std ; int status[ 100000000 / 32 ]; bool Check ( int N, int pos) { return ( bool )(N & ( 1 <<pos));} int Set ( int N, int pos) { return N=N | ( 1 <<pos);} long long int arr[ 10000000 ]; long long int l= 0 ,a,b= 31700 ,n; void sieve () { long long int i,j,sqrtN; sqrtN = int ( sqrt ( b ) ); for ( i= 3 ; i<=sqrtN; i+= 2 ) { if ( Check(status[i/ 32 ],i% 32 )== 0 ) { for (j=i*i; j<=b; j+= 2 *i) { status[j/ 32 ]=Set(status[j/ 32 ],j% 32 ); } } } arr[ 0 ]= 2 ; l= 1 ; for (i= 3 ;i<=b;i+= 2 ){ if (Check(status[i/ 32 ],i% 32 )== 0 ){ arr[l]=i; l++; } } } long long int p[ 1000000 ]; long long int e[ 1000000 ]; int nk= 0 ; void decomp ( long long int a) { long long int sqrtA= sqrt (a); for ( long long int i= 0 ; i<l ...
Comments
Post a Comment