Pagini recente » Cod sursa (job #2206688) | Cod sursa (job #2951660) | Cod sursa (job #1082947) | Cod sursa (job #2741069) | Cod sursa (job #324347)
Cod sursa(job #324347)
#include<stdio.h>
int a[5000001],i,r,d;
long long k;
int cat( int x)
{
if(x%d==0) return x/d;
return 0;
}
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d %d",&r,&d);
if(r==0) { printf("0\n");
fclose(stdin);
fclose(stdout);
return 0;
}
if(r==1&&d==2) { printf("1\n");
fclose(stdin);
fclose(stdout);
return 0;
}
else if(r==1&&d>2) { printf("0\n");
fclose(stdin);
fclose(stdout);
return 0;
}
if(d==2||d==3||d==5)
{ for(i=2;i<=r;i++){ a[i]=cat(i);
a[i]=a[i-1]+a[i];
}
for(i=r/2;i>=1;--i) if((a[r]-(a[r-i]+a[i]))>0) {
if(r%2==0&&i==r/2) k+=1;
else k+=2;
}
printf("%lld\n",k);
fclose(stdin);
fclose(stdout);
return 0;
}
if(d==4)
{ d=d/2;
for(i=2;i<=r;i++){ a[i]=cat(i);
a[i]=a[i-1]+a[i];
}
for(i=r/2;i>=1;--i) if((a[r]-(a[r-i]+a[i]))>1) { if(r%2==0&&i==r/2) k+=1;
else k+=2;
}
printf("%lld\n",k);
fclose(stdin);
fclose(stdout);
return 0;
}
}