Pagini recente » Cod sursa (job #874153) | Cod sursa (job #1070035) | Cod sursa (job #2269158) | Istoria paginii runda/oni_2012_ziua1_clasele_xi-xii | Cod sursa (job #1035191)
#include <fstream>
#include <algorithm>
#include <string>
using namespace std;
#define Nmax 276997
using namespace std;
ifstream f("dtcsu.in");
ofstream g("dtcsu.out");
int Q,sol;
long long N,x;
string tmp;
int Putere[]={0,0,62,39,0,28,0,23,0,0,0,19};
unsigned long long Pow[20][100];
int main()
{
for(int i=2;i<=11;++i)
{
long long P=1;
Pow[i][0]=1;
for(int j=1;j<=Putere[i];++j)P*=i,Pow[i][j]=P;
}
//for(int i=1;i<=Nmax;++i)getline(f,tmp);
getline(f,tmp);
Q=0;
for(int i=0;i<tmp.size();++i)Q=Q*10+(tmp[i]-'0');
for(int i=1;i<=Q;++i)
{
getline(f,tmp);
long long N=0;
for(int i=0;i<tmp.size();++i)N=N*10+(tmp[i]-'0');
if(N)
{
int j=0;
for(j=0;j<=62;++j)
if(N % Pow[2][j])break;
N/=Pow[2][j-1];
j=0;
for(j=0;j<=39;++j)
if(N % Pow[3][j])break;
N/=Pow[3][j-1];
j=0;
for(j=0;j<=39;++j)
if(N % Pow[5][j])break;
N/=Pow[5][j-1];
j=0;
for(j=0;j<=39;++j)
if(N % Pow[7][j])break;
N/=Pow[7][j-1];
j=0;
for(j=0;j<=39;++j)
if(N % Pow[11][j])break;
N/=Pow[11][j-1];
if(N==1)++sol;
}
}
g<<sol<<'\n';
f.close();g.close();
return 0;
}