

1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main() 7 { 8 int a, b; 9 int p1, p2; 10 int rlt; 11 12 while(scanf("%d%d",&a,&b)!=EOF) 13 { 14 rlt=0; 15 while(a!=0 && b!=0) 16 { 17 p1=a-(a&(a-1)); //p1为第一次出现一的位置 18 p2=b-(b&(b-1)); 19 if(p1==p2) 20 { 21 a&=(a-1); 22 b&=(b-1); 23 } 24 else 25 { 26 rlt++; 27 if(p1<p2) 28 { 29 a&=(a-1); 30 p1=a-(a&(a-1)); 31 } 32 else 33 { 34 b&=(b-1); 35 p2=b-(b&(b-1)); 36 } 37 } 38 } 39 40 while(a!=0) 41 { 42 a&=(a-1); 43 rlt++; 44 } 45 while(b!=0) 46 { 47 b&=(b-1); 48 rlt++; 49 } 50 printf("%d\n",rlt); 51 } 52 53 return 0; 54 }