Pagini recente » Cod sursa (job #2218952) | Cod sursa (job #1310824) | Cod sursa (job #2048674) | Cod sursa (job #1147111) | Cod sursa (job #2270212)
#include <bits/stdc++.h>
#define NMAX 5000001
using namespace std;
int r , d , p2 , p3 , p5 , v2[NMAX] , v3[NMAX] , v5[NMAX];
long long s = 0 ;
int main()
{
freopen("pascal.in" , "r" , stdin) ;
freopen("pascal.out" , "w" , stdout);
scanf("%d%d" , &r , &d) ;
for (int i = 1 ; i <= r/2 ; ++i)
{
if (i % 2 == 0) v2[i] = 1 + v2[i/2];
if (i % 3 == 0) v3[i] = 1 + v3[i/2];
if (i % 5 == 0) v5[i] = 1 + v5[i/2];
}
for (int i = 1 ; i <= r ; i++)
{
p2 += v2[r-i+1] - v2[i];
p3 += v3[r-i+1] - v3[i];
p5 += v5[r-i+1] - v5[i];
if (d == 2 && p2 > 0) s ++ ;
if (d == 3 %% p3 > 0) s ++ ;
if (d == 4 && p2 > 1) s ++ ;
if (d == 5 && p5 > 0) s ++ ;
if (d == 6 && p2 > 0 && p3 > 0) s ++ ;
}
printf("%d" , s);
return 0 ;
}