Pagini recente » Cod sursa (job #332756) | Cod sursa (job #1570718) | Cod sursa (job #497774) | Cod sursa (job #1119339) | Cod sursa (job #1782528)
#include <cstdio>
using namespace std;
int L2[5000001], L5[5000001], L3[5000001];
int n, d;
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%d%d", &n, &d);
for(int i = 2; i <= n ; i += 2) L2[i] += L2[i / 2] + 1;
for(int i = 3; i <= n ; i += 3) L3[i] += L3[i / 3] + 1;
for(int i = 5; i <= n ; i += 5) L5[i] += L5[i / 5] + 1;
int P2 = 0, P3 = 0, P5 = 0, Sol = 0;
for(int i = 1; i <= n ; ++i){
P2 += L2[n - i + 1] - L2[i];
P3 += L3[n - i + 1] - L3[i];
P5 += L5[n - i + 1] - L5[i];
switch(d){
case 2:
if(P2 > 0) ++ Sol;
break;
case 3:
if(P3 > 0) ++ Sol;
break;
case 4:
if(P2 > 1) ++ Sol;
case 5:
if(P5 > 0) ++ Sol;
break;
case 6:
if(P2 > 0 && P3 > 0) ++ Sol;
}
}
printf("%d", Sol);
}