Pagini recente » Cod sursa (job #2651338) | Cod sursa (job #2304431) | Cod sursa (job #3180495) | Cod sursa (job #2944473) | Cod sursa (job #25107)
Cod sursa(job #25107)
#include<stdio.h>
#define dim 30001
typedef int Huge[dim];
void produs(Huge a, long b);
long impartire(Huge a,long b);
long long unsigned n,b,j,i,r,k,l,kk,nr;
Huge a;
int main()
{
freopen("zero2.in","r",stdin);
freopen("zero2.out","w",stdout);
for(nr=1; nr<=10; ++nr)
{
scanf("%llu %llu", &n, &b);
kk=0;
for(i=1; i<=a[0]; ++i)
a[i]=0;
a[0]=1;
a[1]=1;
for(k=n; k>=2; --k)
{
for(l=k; l>=2; --l)
{
i=l;
produs(a,i);
}
}
do
{
r=impartire(a,b);
if(r==0)
++kk;
}while(r==0);
printf("%llu\n", kk);
}
}
void produs(Huge a, long i)
{
int t=0,j;
for(j=1; j<=a[0] || t; ++j)
{
a[j]=a[j]*i+t;
t=a[j]/10;
a[j]%=10;
}
a[0]=j-1;
}
long impartire(Huge a, long b)
{
long r=0,i;
for(i=a[0]; i; --i)
{
r=10*r+a[i];
a[i]=r/b;
r%=b;
}
while(!a[a[0]] && a[0]>1)
--a[0];
return r;
}