Pagini recente » Cod sursa (job #1017166) | Cod sursa (job #1012106) | Cod sursa (job #446550) | Cod sursa (job #2154118) | Cod sursa (job #228645)
Cod sursa(job #228645)
#include <stdio.h>
#include <math.h>
#define Size 5000000
int n,d,fact[2],expo[2],nr,expon[Size][1];
void Read()
{
scanf("%d",&n);
scanf("%d",&d);
}
void Decompose()
{
if (d==2||d==3||d==5)
{
nr=1;
fact[1]=d;
expo[1]=1;
}
if (d==4)
{
nr=1;
fact[1]=2;
expo[1]=2;
}
if (d==6)
{
nr=2;
fact[1]=2; fact[2]=3;
expo[1]=1; expo[2]=1;
}
}
int Solve()
{
Decompose();
int count=0;
for (int q=0; q<=n; q++)
for (int i=1; i<=nr; i++)
for (int aux=1; aux<q; aux*=fact[i],expon[q][i-1]+=q/aux);
for (int q=0; q<=n; q++)
{
int ok=1;
for (int i=1; i<=nr; i++)
if (expon[n][i-1]<=expon[n-q][i-1]+expon[q][i-1])
ok=0;
if (ok)
count++;
}
return count;
}
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
Read();
printf("%d ",Solve());
}