Pagini recente » Cod sursa (job #2681998) | Cod sursa (job #1286611) | Cod sursa (job #3141449) | Cod sursa (job #1293694) | Cod sursa (job #1204997)
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int dPr[7], rowPr[7], i, j, r, d, nrDiv;
int main()
{
f>>r>>d;
for (i=2; i*i<=d; i++) {
while (d%i==0) {
d/=i;
dPr[i]++;
}
}
if (d!=1)
dPr[d]++;
int nr=0;
for (i=2; i<=5; i++) {
nr=i;
while (r >= nr && r%nr==0) {
rowPr[i]+=r/nr;
nr*=i;
}
}
for (j=1; j<=r; j++) {
int tmp=(r-j), nr=0;
for (i=2; i<=5; i++) {
nr=i;
while (tmp >= nr && tmp%nr==0) {
rowPr[i]-=tmp/nr;
nr*=i;
}
}
tmp=j;
for (i=2; i<=5; i++) {
nr=i;
while (tmp >= nr && tmp%nr==0) {
rowPr[i]-=tmp/nr;
nr*=i;
}
}
int ok=1;
for (i=1; i<=5; i++)
if (dPr[i] != 0 && dPr[i] > rowPr[i])
ok=0;
if (ok==1)
nrDiv++;
}
g<<nrDiv;
return 0;
}