Pagini recente » Cod sursa (job #1260069) | Cod sursa (job #745874) | Cod sursa (job #1057322) | Cod sursa (job #2109879) | Cod sursa (job #2275582)
#include <iostream>
#include <fstream>
#include <string.h>
#include <math.h>
using namespace std;
ifstream in("pascal.in");
ofstream out("pascal.out");
const long MMAX = 5000001;
int v2[MMAX], v3[MMAX], v5[MMAX];
int main()
{
long long ct = 0,n , d,sol2=0,sol3=0,sol5=0;
in>> n >> d;
for(long i = 1; i<=n ;++i)
{
if(i%2 == 0) v2[i] = v2[i/2] + 1;
if(i%3 == 0) v3[i] = v3[i/3] + 1;
if(i%5 == 0) v5[i] = v5[i/5] + 1;
}
for(long i = 1; i < n ;++i)
{
sol2 += v2[n-i+1] - v2[i];
sol3 += v3[n-i+1] - v3[i];
sol5 += v5[n-i+1] - v5[i];
if ( d == 2 && sol2>0)
++ct;
else if( d == 3 && sol3>0)
++ct;
else if( d== 4 && sol2 > 1)
++ct;
else if(d==5 && sol5>0)
++ct;
else if(d == 6 && sol2 > 0 && sol3 >0 )
++ct;
}
out<<ct<<'\n';
}