Pagini recente » Utilizatori inregistrati la PreOJI 2017 | Cod sursa (job #1553515) | Cod sursa (job #1234668) | Cod sursa (job #706668) | 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;
}