Cod sursa(job #2910604)
Utilizator | Data | 22 iunie 2022 17:45:30 | |
---|---|---|---|
Problema | Pascal | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | 3_iulie | Marime | 1.54 kb |
#include <fstream>
using namespace std;
ifstream fin ("pascal.in");
ofstream fout ("pascal.out");
int p,di,x,d,nr,k,g,q,nrr,i,j,fr[10],ff[10];
int main()
{
fin>>p>>di;
i=p;
j=p/2;
for (g=0; g<=j; g++)
{
if (i-g<g)
{
nr=g+1;
nrr=i-g;
}
else
{
nr=i-g+1;
nrr=g;
}
for (q=2; q<=nrr; q++)
{
x=q;
for (d=2; d<=5; d++)
{
while (x%d==0)
{
fr[d]++;
x=x/d;
}
}
}
for (q=nr; q<=i; q++)
{
x=q;
for (d=2; d<=5; d++)
{
while (x%d==0)
{
if (fr[d]>0)
fr[d]--;
else
ff[d]++;
x=x/d;
}
}
}
if (di==2)
{
if (ff[2]>0)
k=k+2;
}
if (di==3)
{
if (ff[3]>0)
k=k+2;
}
if (di==4)
{
if (ff[2]>1)
k=k+2;
}
if (di==5)
{
if (ff[5]>5)
k=k+2;
}
if (di==6)
{
if (ff[2]>0&&ff[3]>0)
k=k+2;
}
if (i%2==0&&g==j&&k>0)
k--;
}
fout<<k;
return 0;
}