Pagini recente » Cod sursa (job #2095117) | Cod sursa (job #2004298) | Cod sursa (job #2127746) | Cod sursa (job #214880) | Cod sursa (job #2500664)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int n,m,d,p[6][5000001],i,j,jum,p2,p3,p5,cnt;
//int fact[6][5000001];
int main(){
fin>>n>>d;
for(i=2;i<=n;i++){
if(i%2==0)
p[2][i]=p[2][i/2]+1;
if(i%3==0)
p[3][i]=p[3][i/3]+1;
if(i%5==0)
p[5][i]=p[5][i/5]+1;
// fact[2][i]=fact[2][i-1]+p[2][i];
// fact[3][i]=fact[3][i-1]+p[3][i];
// fact[5][i]=fact[5][i-1]+p[5][i];
}
// for(i=1;i<=n;i++)
// cout<<i<<" - "<<p[2][i]<<" "<<p[3][i]<<" "<<p[5][i]<<"\n";
/// combinari de n luate cate i: n!/ (i! * (n-i)!)
/// la fiecare pas inm cu n-i+1 si impart la i
if(d==2){
for(i=1;i<=n;i++){
p2+=p[2][n-i+1]-p[2][i];
p3+=p[3][n-i+1]-p[3][i];
p5+=p[5][n-i+1]-p[5][i];
if(p2>0)
cnt++;
}
}
if(d==3){
for(i=1;i<=n;i++){
p2+=p[2][n-i+1]-p[2][i];
p3+=p[3][n-i+1]-p[3][i];
p5+=p[5][n-i+1]-p[5][i];
if(p3>0)
cnt++;
}
}
if(d==5){
for(i=1;i<=n;i++){
p2+=p[2][n-i+1]-p[2][i];
p3+=p[3][n-i+1]-p[3][i];
p5+=p[5][n-i+1]-p[5][i];
if(p5>0)
cnt++;
}
}
if(d==4){
for(i=1;i<=n;i++){
p2+=p[2][n-i+1]-p[2][i];
p3+=p[3][n-i+1]-p[3][i];
p5+=p[5][n-i+1]-p[5][i];
if(p2>1)
cnt++;
}
}
if(d==6){
for(i=1;i<=n;i++){
p2+=p[2][n-i+1]-p[2][i];
p3+=p[3][n-i+1]-p[3][i];
p5+=p[5][n-i+1]-p[5][i];
if(p2>0 && p3>0)
cnt++;
}
}
fout<<cnt;
return 0;
}