Pagini recente » Cod sursa (job #1961541) | Cod sursa (job #1604894) | Cod sursa (job #247354) | Cod sursa (job #373746) | Cod sursa (job #2911600)
#include <fstream>
using namespace std;
ifstream cin("pascal.in");
ofstream cout("pascal.out");
unsigned short int mat[3][5000005];
char f2[5000005];
char f3[5000005];
char f5[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;
if(i%2==0)
f2[i]=f2[i/2]+1;
if(i%3==0)
f3[i]=f3[i/3]+1;
if(i%5==0)
f5[i]=f5[i/5]+1;
mat[0][i]=mat[0][i-1]+f2[i];
mat[1][i]=mat[1][i-1]+f3[i];
mat[2][i]=mat[2][i-1]+f5[i];
}
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;
}