Pagini recente » Cod sursa (job #312927) | Cod sursa (job #744148) | Cod sursa (job #2628263) | Cod sursa (job #1896223) | Cod sursa (job #2203255)
#include <iostream>
#include <fstream>
#define MAX 5000010
using namespace std;
typedef long long ll;
int r,d,ans,fa,fa2;
int e2[MAX],e3[MAX],e5[MAX];
int main()
{
ifstream f ("pascal.in");
ofstream g ("pascal.out");
f>>r>>d;
if(d==5)
for(int i=1;i<=r;i++){
for(int j=5;i%j==0;j*=5,e5[i]++);
e5[i]+=e5[i-1];
}
if(d==3||d==6)
for(int i=1;i<=r;i++){
for(int j=3;i%j==0;j*=3,e3[i]++);
e3[i]+=e3[i-1];
}
if(d==2||d==4||d==6)
for(int i=1;i<=r;i++){
for(int j=2;i%j==0;j*=2,e2[i]++);
e2[i]+=e2[i-1];
}
for(int i=0;i<=r;i++)
if(d==2){
fa=e2[r]-e2[r-i]-e2[i];
if(fa>=1)ans++;
} else if(d==3){
fa=e3[r]-e3[r-i]-e3[i];
if(fa>=1)ans++;
} else if(d==4){
fa=e2[r]-e2[r-i]-e2[i];
if(fa>=2)ans++;
} else if(d==5){
fa=e5[r]-e5[r-i]-e5[i];
if(fa>=1)ans++;
} else {
fa=e2[r]-e2[r-i]-e2[i];
fa2=e3[r]-e3[r-i]-e3[i];
if(fa>=1&&fa2>=1)ans++;
}
g<<ans;
f.close ();
g.close ();
return 0;
}