Cod sursa(job #1853282)

Utilizator georgerapeanuRapeanu George georgerapeanu Data 21 ianuarie 2017 16:10:35
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
using namespace std;
FILE *f=fopen("dtscu.in","r");
FILE *g=fopen("dtscu.out","w");
char buffer[30];
int rez;
long long Q,val;
long long getnext()
{
    fgets(buffer+1,30,f);
    int poz=1;
    long long nr=0;
    while('0'<=buffer[poz]&&buffer[poz]<='9'){nr=nr*10+buffer[poz]-'0';poz++;}
    return nr;
}
int main()
{
    for(int i=1;i<=276997;i++) fgets(buffer,30,f);
    Q=getnext();
    for(int i=1;i<=Q;i++)
    {
        val=getnext();
        while(val%11==0) val/=11;
        while(val%7==0) val/=7;
        while(val%5==0) val/=5;
        while(val%3==0) val/=3;
        while(!(val&1)) val>>=1;
        if(val==1)
            rez++;
    }
    fprintf(g,"%d",rez);
    return 0;
}