Pagini recente » Cod sursa (job #2287714) | Cod sursa (job #1178869) | Cod sursa (job #3246985) | Cod sursa (job #2213568) | Cod sursa (job #518820)
Cod sursa(job #518820)
#include <fstream>
using namespace std;
int v[3]={2,3,5};
int c[3]={2,3,5};
int a[3],b[3],d[3];
int e[3]={1,1,1};
void solve(int x,int y,int z)
{
int numar=0;
while(x>0)
{
numar+=x/y;
x/=y;
}
d[z]=numar;
}
void solve2(int x,int y,int z)
{
int numar=0;
while(x>0)
{
numar+=x/y;
x/=y;
}
if(numar!=0)
e[z]*=numar;
}
int main()
{
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int r, q, i,j;
fin>>r >>q;
int aux=q;
int f=0;
for(i=0;i<=2;++i)
{
if(aux%v[i]==0)
{
a[f]=v[i];
while(aux%v[i]==0)
{
aux/=v[i];
++b[i];
}
++f;
}
}
--f;
int nr=0;
for(i=1;i<=r-1;++i)
{
aux=i;
int gasit=0;
for(j=0;j<=f;++j)
solve(r,v[j],j);
for(j=0;j<=f;++j)
solve2(r-i,v[j],j);
for(j=0;j<=f;++j)
solve2(i,v[j],j);
int ok=0;
for(j=0;j<=f;++j)
if(b[j]>d[j]/e[j])
{
ok=1;
break;
}
if(ok==0)
++nr;
}
fout<<nr;
return 0;
}