Cod sursa(job #1045536)
Utilizator | Iuliana iuli33 | Data | 1 decembrie 2013 18:23:59 |
---|---|---|---|
Problema | Pascal | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("pascal.in");
ofstream out("pascal.out");
int inits, initj, r, k, n, c;
int nrd(int x){
int nr=0;
while (x%k==0){
nr++;
x/=k;
}
return nr;
}
int f(){
inits=r;
initj=1;
for (int i=1; i<=r/2; i++){
n=n+nrd(inits)-nrd(initj);
inits--;
initj++;
if (n>0){
c+=2;
}
if (i==r/2 && r%2==0 && n>0)
c--;
}
return c;
}
int main(){
in>>r>>k;
out<<f();
return 0;
}