Pagini recente » Cod sursa (job #1422891) | Cod sursa (job #257376) | Cod sursa (job #1618266) | Cod sursa (job #1338618) | Cod sursa (job #2089472)
#include <fstream>
using namespace std;
ifstream cin("pascal.in");
ofstream cout("pascal.out");
const int nmax=5000000;
int n,k;
int d2[nmax+5];
int d3[nmax+5];
int d5[nmax+5];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
d2[i]=d2[i-1];
int aux=i;
while(aux%2==0)
{
aux/=2;
d2[i]++;
}
}
for(int i=1;i<=n;i++)
{
d3[i]=d3[i-1];
int aux=i;
while(aux%3==0)
{
aux/=3;
d3[i]++;
}
}
for(int i=1;i<=n;i++)
{
d5[i]=d5[i-1];
int aux=i;
while(aux%5==0)
{
aux/=5;
d5[i]++;
}
}
int sol;
if(k==2)
{
sol=0;
for(int i=0;i<=n;i++)
{
int val=d2[n]-d2[n-i]-d2[i];
if(val>=1)
sol++;
}
cout<<sol;
return 0;
}
if(k==3)
{
sol=0;
for(int i=0;i<=n;i++)
{
int val=d3[n]-d3[n-i]-d3[i];
if(val>=1)
sol++;
}
cout<<sol;
return 0;
}
if(k==4)
{
sol=0;
for(int i=0;i<=n;i++)
{
int val=d2[n]-d2[n-i]-d2[i];
if(val>=2)
sol++;
}
cout<<sol;
return 0;
}
if(k==6)
{
sol=0;
for(int i=0;i<=n;i++)
{
int val2=d2[n]-d2[n-i]-d2[i];
int val3=d3[n]-d3[n-i]-d3[i];
if(val2>=1 and val3>=1)
sol++;
}
cout<<sol;
return 0;
}
return 0;
}