Pagini recente » Cod sursa (job #492531) | Cod sursa (job #2967945) | Cod sursa (job #2068149) | Cod sursa (job #3132145) | Cod sursa (job #215437)
Cod sursa(job #215437)
#include<fstream.h>
int d;
long r,nr,f,f1,c;
long put(int p,long n)
{long f=0;
while(p<=n)
{f+=n/p;
p*=p;
}
return f;
}
int main()
{ifstream fin("pascal.in");
fin>>r>>d;
fin.close();
ofstream fout("pascal.out");
if(d!=4&&d!=6)
{nr=0;
for(c=0;c<=r/2;c++)
{f=put(d,r)-put(d,r-c)-put(d,c);
if(f>=1)
nr++;
}
nr*=2;
if(r%2==0)
nr--;
fout<<nr<<'\n';
}
else
if(d==4)
{d=2;
nr=0;
for(c=0;c<=r/2;c++)
{f=put(d,r)-put(d,r-c)-put(d,c);
if(f>=2)
nr++;
}
nr*=2;
if(r%2==0)
nr--;
fout<<nr<<'\n';
}
else
{nr=0;
for(c=0;c<=r/2;c++)
{f=put(2,r)-put(2,r-c)-put(2,c);
f1=put(3,r)-put(3,r-c)-put(3,c);
if(f<f1&&f>=1)
nr++;
else
if(f1<f&&f1>=1)
nr++;
}
nr*=2;
if(r%2==0)
nr--;
fout<<nr<<'\n';
}
fout.close();
return 0;
}