Pagini recente » Cod sursa (job #379155) | Cod sursa (job #2038556) | Cod sursa (job #196029) | Cod sursa (job #958915) | Cod sursa (job #2089486)
#include <fstream>
using namespace std;
ifstream cin("pascal.in");
ofstream cout("pascal.out");
#define c2 for(int i=1;i<=n;i++){d2[i]=d2[i-1];int aux=i;while(aux%2==0){aux/=2;d2[i]++;}}
#define c3 for(int i=1;i<=n;i++){d3[i]=d3[i-1];int aux=i;while(aux%3==0){aux/=3;d3[i]++;}}
#define c5 for(int i=1;i<=n;i++){d5[i]=d5[i-1];int aux=i;while(aux%5==0){aux/=5;d5[i]++;}}
const int nmax=5000000;
int n,k;
int d2[nmax+5];
int d3[nmax+5];
int d5[nmax+5];
int main()
{
cin>>n>>k;
int sol;
if(k==2)
{
c2
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)
{
c3
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)
{
c2
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==5)
{
c5
sol=0;
for(int i=0;i<=n;i++)
{
int val=d5[n]-d5[n-i]-d5[i];
if(val>=1)
sol++;
}
cout<<sol;
return 0;
}
if(k==6)
{
c2
c3
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;
}