Pagini recente » Cod sursa (job #707162) | Cod sursa (job #1495270) | Cod sursa (job #2827138) | Cod sursa (job #2297913) | Cod sursa (job #2911598)
#include <fstream>
using namespace std;
ifstream cin("pascal.in");
ofstream cout("pascal.out");
int mat[3][5000005];
int main()
{
int n,d;
cin>>n>>d;
for(int i=1; i<=n; i++)
{
int ci=i,sum2=0,sum3=0,sum5=0;
while(ci%2==0)
{
sum2++;
ci/=2;
}
while(ci%3==0)
{
sum3++;
ci/=3;
}
while(ci%5==0)
{
sum5++;
ci/=5;
}
mat[0][i]=mat[0][i-1]+sum2;
mat[1][i]=mat[1][i-1]+sum3;
mat[2][i]=mat[2][i-1]+sum5;
}
int cnt=0,c2=0,c3=0,c5=0;
while(d%2==0)
{
c2++;
d/=2;
}
while(d%3==0)
{
c3++;
d/=3;
}
while(d%5==0)
{
c5++;
d/=5;
}
for(int i=1; i<=n; i++)
{
int a2=mat[0][n]-mat[0][i]-mat[0][n-i];
int a3=mat[1][n]-mat[1][i]-mat[1][n-i];
int a5=mat[2][n]-mat[2][i]-mat[2][n-i];
if(a2>=c2&&a3>=c3&&a5>=c5)
cnt++;
}
cout<<cnt;
return 0;
}