Pagini recente » Cod sursa (job #3268701) | Cod sursa (job #2036473) | Cod sursa (job #438408) | Cod sursa (job #3248187) | Cod sursa (job #58586)
Cod sursa(job #58586)
#include<stdio.h>
int main()
{long long unsigned k,x,p,i,j,ii,ij,jj,d,sol=0;
FILE*f=fopen("pascal.in","r");
FILE*g=fopen("pascal.out","w");
fscanf(f,"%llu %llu",&i,&d);
//i!/(i-j)!*j!
if(d==3||d==5)
{
p=d;
ii=0;
while(i/p!=0) {ii+=i/p; p*=d;}
for(j=1;j<i;j++)
{
jj=0; p=d;
while (j/p!=0){jj+=(j/p); p*=d;}
ij=0; p=d;
while((i-j)/p!=0) {ij+=(i-j)/p; p*=d;}
if ((ii-ij-jj>0)) sol++;
}}
else if (d==4||d==2)
{
ii=0;
x=i;
for(x=2;i<=x;i+=2)
while((x&1)==0)
{
ii++;
x=(x>>1);}
for(j=1;j<i;j++)
{
jj=0;
for(x=2;x<=j;x+=2)
while((x&1)==0)
{
jj++;
x=(x>>1);
}
ij=0;
for(x=2;x<=(i-j);x+=2)
while((x&1)==0)
{ij++;
x=(x>>1);}
if (d==4){ if (ii-jj-ij>1) sol++;}
else if (ii-ij-jj>0) sol++; }
}
fprintf(g,"%llu",sol);
return 0;}