Pagini recente » Cod sursa (job #2818893) | Cod sursa (job #3135504) | Cod sursa (job #3211075) | Cod sursa (job #2386011) | Cod sursa (job #5471)
Cod sursa(job #5471)
#include <iostream>
using namespace std;
int put[5000001][3];
short logm[5000001][3];
int k,d;
int i,j;
int x,nr;
int u;
int a[]={2,3,5};
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d %d\n", &k, &d);
for ( i = 1; i <= k; i++ )
{
for ( j = 0; j <= 2; j++ )
{
u = a[j];
put[i][j] = put[i-1][j];
if ( i % u == 0 )
logm[i][j] = logm[i/u][j] + 1;
put[i][j] += logm[i][j];
}
}
for ( i = 1; i <= k; i++ )
{
if ( d == 2 )
if ( put[k][0] - ( put[k-i][0] + put[i][0] ) > 0 )
nr++;
if ( d == 3 )
if ( put[k][1] - ( put[k-i][1] + put[i][1] ) > 0 )
nr++;
if ( d == 4 )
if ( put[k][0] - ( put[k-i][0] + put[i][0] ) > 1 )
nr++;
if ( d == 5 )
if ( put[k][2] - ( put[k-i][2] + put[i][2] ) > 0 )
nr++;
if ( d == 6 )
if ( put[k][0] - ( put[k-i][0] + put[i][0] ) > 0 && put[k][1] - ( put[k-i][1] + put[i][1] ) > 0 )
nr++;
}
printf("%d\n", nr );
fclose(stdout);
fclose(stdin);
return 0;
}