Cod sursa(job #19040)

Utilizator RazvanSSavu Razvan RazvanS Data 18 februarie 2007 18:13:42
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

#define N 2500001

using namespace std;

int V[N];
int r, d;
int S;

int nrdiv(int n)
    {int s=0;
     while(n%d==0)
        {n/=d;
         s++;
        }
     
     return s;
    }            

void completeV(void)
      {int i;
       V[1]=nrdiv(r);
       for(i=2;i<=r/2;i++)
           V[i]=V[i-1]+nrdiv(r-i+1)-nrdiv(i);
      }
      
int main(void)
      {ifstream fin("pascal.in");
       int i;
       fin>>r>>d;
       fin.close();
       completeV();
       for(i=1;i<=(r-1)/2;i++)
            if(V[i]>0) S++;
       S*=2;
       if(r%2==0) S+=(V[r/2]>0);
       ofstream fout("pascal.out");
       fout<<S<<'\n';       
       fout.close();
       
       return 0;
       }