Cod sursa(job #1034924)

Utilizator cahemanCasian Patrascanu caheman Data 18 noiembrie 2013 10:51:36
Problema Dtcsu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<cstdio>
#include<cstring>

using namespace std;

char s[50];

int main()
{
  freopen("dtcsu.in", "r", stdin);
  freopen("dtcsu.out", "w", stdout);
  long long n;
  int i, j, q, nr = 0;
  for(i = 1; i <= 276997; ++ i)
    scanf("%s", &s);
  scanf("%d\n", &q);
  for(i = 1; i <= q; ++ i)
  {
    gets(s);
    j = 0;
    n = 0;
    while(s[j] >= '0')
    {
      n = n * 10 + s[j] - '0';
      ++ j;
    }
    if(n == 0)
    {
      -- nr;
      n = 1;
    }
    while(n % 2 == 0)
    {
      n = n >> 1;
    }
    while(n % 3 == 0)
    {
      n = n / 3;
    }
    while(n % 5 == 0)
    {
      n = n / 5;
    }
    while(n % 7 == 0)
    {
      n = n / 7;
    }
    while(n % 11 == 0)
    {
      n = n / 11;
    }
    if(n == 1)
      ++ nr;
  }
  printf("%d", nr);
  return 0;
}