Pagini recente » Cod sursa (job #838338) | Borderou de evaluare (job #2443669) | Cod sursa (job #3276741) | Cod sursa (job #2471496) | Cod sursa (job #2508941)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("pascal.in");
ofstream fout ("pascal.out");
int f[3][5000010];
int r,d,i,p2,p3,p5,sol;
void precalculare(){
for(int i=2;i<=r;i++){
if(i%2==0)
f[0][i]=f[0][i/2]+1;
if(i%3==0)
f[1][i]=f[1][i/3]+1;
if(i%5==0)
f[2][i]=f[2][i/5]+1;
}
}
int main(){
fin>>r>>d;
precalculare();
if(d==2){
for(i=1;i<=r;i++){
p2+=f[0][r-i+1]-f[0][i];
if (p2)
sol++;
}
}
else if(d==3){
for(i=1;i<=r;i++){
p3+=f[1][r-i+1]-f[1][i];
if (p3)
sol++;
}
}
else if(d==4){
for(i=1;i<=r;i++){
p2+=f[0][r-i+1]-f[0][i];
if (p2>=2)
sol++;
}
}
else if(d==5){
for(i=1;i<=r;i++){
p5+=f[2][r-i+1]-f[2][i];
if (p5)
sol++;
}
}
else if(d==6){
for(i=1;i<=r;i++){
p2+=f[0][r-i+1]-f[0][i];
p3+=f[1][r-i+1]-f[1][i];
if (p2 && p3)
sol++;
}
}
fout<<sol;
return 0;
}