Pagini recente » Cod sursa (job #144214) | Cod sursa (job #2315046) | Cod sursa (job #1256993) | Cod sursa (job #893387) | Cod sursa (job #1256224)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int cate(int n, int d)
{
int s=0;
for(int i=d;i<=n;i*=d)
{
s+=(n/d);
}
return s;
}
int main()
{
int n, d, g[6], f[6], i;
fin>>n>>d;
int l=0;
g[2]=cate(n, 2);
g[3]=cate(n, 3);
g[5]=cate(n, 5);
for(i=0;i<=(n-1)/2;i++)
{
f[2]=g[2]-cate(i, 2)-cate(n-i, 2);
f[3]=g[3]-cate(i, 3)-cate(n-i, 3);
f[5]=g[5]-cate(i, 5)-cate(n-i, 5);
if(d==2 || d==3 || d==5)
if(f[d])
l++;
if(d==4)
if(f[2]/2)
l++;
if(d==6)
if(f[2] && f[3])
l++;
}
l*=2;
if(n%2==0)
{
i=n/2;
f[2]=g[2]-cate(i, 2)-cate(n-i, 2);
f[3]=g[3]-cate(i, 3)-cate(n-i, 3);
f[5]=g[5]-cate(i, 5)-cate(n-i, 5);
if(d==2 || d==3 || d==5)
if(f[d])
l++;
if(d==4)
if(f[2]/2)
l++;
if(d==6)
if(f[2] && f[3])
l++;
}
fout << l;
}