Pagini recente » Cod sursa (job #2157923) | Cod sursa (job #636335) | Cod sursa (job #944248) | Cod sursa (job #1260669) | Cod sursa (job #58693)
Cod sursa(job #58693)
#include<stdio.h>
int a, nr, d, r, i, p, p1, p2, P, P2, P1;
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d%d",&r,&d);
if (d==2||d==3||d==5){
a=d;
p=0;
while (a<=r){
p+=(r/a);
a*=d;
}
p1=p;
p2=0;
for (i=1;i<=r/2;i++){
p1-=(p-i+1)/d;
p2+=i/d;
if (p-p1-p2>0) nr++;
}
if (r%2==1) printf("%d\n",2*nr);
else printf("%d\n",2*nr-1);
return 0;
}
if (d==4){
a=2;
p=0;
while (a<=r){
p+=(r/a);
a*=2;
}
p1=p;
p2=0;
for (i=1;i<=r/2;i++){
p1-=(p-i+1)/2;
p2+=i/2;
if (p-p1-p2>1) nr++;
}
}
if (d==6){
a=2;
p=0;
while (a<=r){
p+=(r/a);
a*=2;
}
p1=p;
p2=0;
a=3;
P=0;
while (a<=r){
P+=(r/a);
a*=3;
}
P1=P;
P2=0;
for (i=1;i<=r/2;i++){
p1-=(p-i+1)/2;
p2+=i/2;
P1-=(p-i+1)/3;
P2+=i/3;
if ((p-p1-p2>0)&&(P-P1-P2>0)) nr++;
}
if (r%2==1) printf("%d\n",2*nr);
else printf("%d\n",2*nr-1);
return 0;
}
}