Pagini recente » Cod sursa (job #119281) | Cod sursa (job #65516)
Cod sursa(job #65516)
#include<stdio.h>
int r,d,i,n,nr,p1,p2,put1,put2;
int main(){
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d %d",&r,&d);
if((d==2)||(d==3)||(d==5)){
for(i=0;i<(r+1)/2-1;i++){
n=r-i;
p1=0;
while(n%d==0){
p1++;
n/=d;
}
n=i+1;
while(n%d==0){
p1--;
n/=d;
}
put1+=p1;
if(put1>0)
nr+=2;
}
if(r%2==0){
n=r-i;
p1=0;
while(n%d==0){
p1++;
n/=d;
}
n=i+1;
while(n%d==0){
p1--;
n/=d;
}
put1+=p1;
if(put1>0)
nr++;
}
}
if(d==4){
for(i=0;i<(r+1)/2-1;i++){
n=r-i;
p1=0;
while((n&1)==0){
n>>=1;
p1++;
}
n=i+1;
while((n&1)==0){
n>>=1;
p1--;
}
put1+=p1;
if(put1>1)
nr+=2;
}
if(r%2==0){
n=r-i;
p1=0;
while((n&1)==0){
n>>=1;
p1++;
}
n=i+1;
while((n&1)==0){
n>>=1;
p1--;
}
put1+=p1;
if(put1>1)
nr++;
}
}
printf("%d\n",nr);
return 0;
}