Cod sursa(job #1188701)
| Utilizator | Data | 20 mai 2014 13:30:39 | |
|---|---|---|---|
| Problema | Pascal | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int r, d, nrdiv, v[5000000];
int nrpt(int x){
int nr=0;
while (x>0){
if (x%d==0) nr++;
else return nr;
x/=d;
}
}
int dFact(int x){
int r=0;
if (x==0) return 0;
for (int i=1;i<=x;++i){
r+=nrpt(i);
v[i]=r;
}
return r;
}
int main(){
f>>r>>d;
nrdiv=0;
dFact(r);
for (int i=0;i<r;++i){
if ((v[r]-v[i]-v[r-i])>0) nrdiv++;
}
g<<nrdiv;
return 0;
}
