Pagini recente » Cod sursa (job #1804688) | Cod sursa (job #802766) | Cod sursa (job #2181048) | Cod sursa (job #353250) | Cod sursa (job #774096)
Cod sursa(job #774096)
#include<fstream>
using namespace std;
int calc2(int nr){
int s=0,p=2;
while (nr/p>0){s+=nr/p; p*=2; }
return(s);
}
int calc3(int nr){
int s=0,p=3;
while (nr/p>0){s+=nr/p; p*=3; }
return(s);
}
int calc5(int nr){
int s=0,p=5;
while (nr/p>0){s+=nr/p; p*=5; }
return(s);
}
int main(void){
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int n,d,i,sol=0,nrn,nrn1;
fin>>n>>d;
if (d==2){
nrn=calc2(n);
for (i=0; i<=n; ++i)
if (nrn-calc2(n-i)-calc2(i)>0) ++sol;
}
else if (d==3){
nrn=calc3(n);
for (i=0; i<=n; ++i)
if (nrn-calc3(n-i)-calc3(i)>0) ++sol;
}
else if (d==5){
nrn=calc5(n);
for (i=0; i<=n; ++i)
if (nrn-calc5(n-i)-calc5(i)>0) ++sol;
}
else if (d==4){
nrn=calc2(n);
for (i=0; i<=n; ++i)
if (nrn-calc2(n-i)-calc2(i)>1) ++sol;
}
else {
nrn=calc2(n); nrn1=calc3(n);
for (i=0; i<=n; ++i)
if (nrn-calc2(n-i)-calc2(i)>0&&nrn1-calc3(n-i)-calc3(i)>0)++sol;
}
fout<<sol;
return(0);
}