Pagini recente » Cod sursa (job #1287865) | Cod sursa (job #1903763) | Cod sursa (job #1815390) | Cod sursa (job #1289350) | Cod sursa (job #1724416)
#include<bits/stdc++.h>
using namespace std;
int A2[5000055];
int A3[5000055];
int A5[5000055];
int rs,d,r;
int main(){
ifstream cin("pascal.in");
ofstream cout("pascal.out");
cin>>r>>d;
for(int i=2; i*2<=r+5; i*=2)
for(int j=i; j<=r+5; j+=i)
A2[j]++;
for(int i=3; i*3<=r+5; i*=3)
for(int j=i; j<=r+5; j+=i)
A3[j]++;
for(int i=5; i*5<=r+5; i*=5)
for(int j=i; j<=r+5; j+=i)
A5[j]++;
for(int i=1; i<=r; ++i)
{
A2[i]=A2[i-1]+A2[i];
A3[i]=A3[i-1]+A3[i];
A5[i]=A5[i-1]+A5[i];
}
for(int i=1; i<=r-1; ++i)
{
int s;
if(d==2) s=A2[r]-(A2[i]+A2[r-i])-1;
if(d==3) s=A3[r]-(A3[i]+A3[r-i])-1;
if(d==4) s=A2[r]-(A2[i]+A2[r-i])-2;
if(d==5) s=A5[r]-(A5[i]+A5[r-i])-1;
if(d==6) s=min(A2[r]-(A2[i]+A2[r-i])-1, A3[r]-(A3[i]+A3[r-i])-1);
if(s>=0)
rs++;
}
cout<<rs<<"\n";
return 0;
}