Pagini recente » Cod sursa (job #1955489) | Cod sursa (job #462701) | Cod sursa (job #259276) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #661286)
Cod sursa(job #661286)
#include <iostream>
#include <fstream>
using namespace std;
long R, i, j, rez=0;
short d;
int put(long nr) {
long i, k, putere=0;
for(i=2; i<=nr; i++) {
k=i;
while(k%d==0) {
putere++;
k/=d;
}
}
return putere;
}
int main() {
ifstream f("pascal.in");
ofstream g("pascal.out");
f>>R>>d;
// R!/((R-j)!*j!) = elementul j de pe linia R;
long p1=put(R);
long p2, p3;
for(j=1; j<=int(R/2); j++) { //iau jumatate din elementele de pe linia R
p2=put(R-j);
p3=put(j);
if(p1 - p2 - p3 > 0) { rez++; }
}
rez*=2;
if(R%2 ==0) {
j=int(R/2)+1;
if(p1 -put(R-j) - put(j) > 0) { rez--; }
}
g<<rez;
f.close();
g.close();
return 0;
}