Pagini recente » Cod sursa (job #746770) | Cod sursa (job #179337) | Cod sursa (job #56471) | Cod sursa (job #1612656) | Cod sursa (job #2457245)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
int r,d;
int powers2[5000001],powers3[5000001],powers5[5000001];
int current_power_2=0,current_power_3=0,current_power_5=0;
int nr_solutions=0;
void generate_powers()
{
for(int i=1;i<=r;i++)
{
if(!(i%2))
powers2[i]=1+powers2[i/2];
if(!(i%3))
powers3[i]=1+powers3[i/3];
if(!(i%5))
powers5[i]=1+powers5[i/5];
}
}
void solve()
{
fin>>r>>d;
generate_powers();
for(int i=1;i<=r;i++)
{
current_power_2+=powers2[r-i+1]-powers2[i];
current_power_3+=powers3[r-i+1]-powers3[i];
current_power_5+=powers5[r-i+1]-powers5[i];
if(d==2&¤t_power_2>0)
nr_solutions++;
if(d==3&¤t_power_3>0)
nr_solutions++;
if(d==4&¤t_power_2>1)
nr_solutions++;
if(d==5&¤t_power_5>0)
nr_solutions++;
if(d==6&¤t_power_2>0&¤t_power_3>0)
nr_solutions++;
}
fout<<nr_solutions;
}
int main()
{
solve();
return 0;
}