Cod sursa(job #69510)
| Utilizator | Data | 3 iulie 2007 12:53:15 | |
|---|---|---|---|
| Problema | Pascal | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream.h>
long R,d;
long fact (long n,int d){
short p=d;
int S=0;
while (p<=n){
S+=n/p;
p*=d;}
return S;
}
int main(){
ifstream fin("pascal.in");
ofstream fout("pascal.out");
fin>>R>>d;
long nr=0;
int y=fact(R,d);
for (long i=1;i<R/2;i++)
if (y/(fact(R-i,d)+fact(i,d))==(int)y/(fact(R-i,d)+fact(i,d)))
nr+=2;
if (R%2==0)
if (y/(fact(R-R/2,d)+fact(R/2,d))==(int)y/(fact(R-R/2,d)+fact(R/2,d)))
nr++;
fout<<nr<<"\n";
fin.close();
fout.close();
return 0;
}