// // File: main.cc // Author: cteam007 // // Created on October 22, 2011, 2:14 PM // //#include #include #include using namespace std; int sude(int& x){ x=x/2; return x; } int liche(int& x){ x=3*x+1; //cout<& pole, int pocet_prvku){ for(int i=0;i pole(size); int a, b; int i; int aa, bb; int pocet_prvku, counter, pozice_a; while(1){ i=0; pocet_prvku=0; scanf("%d %d", &a, &b);; if (a==0 && b==0) break; aa=a; bb=b; do{ pole[i++]=aa; if(aa%2==0){ aa= sude(aa); } else { aa=liche(aa); } if(i==size-1) { size*=2; pole.resize(size); } }while(aa!=1); pole[i]=1; pocet_prvku=i+1; counter=0; pozice_a=0; do{ pozice_a=over(bb,pole,pocet_prvku); if(pozice_a!=-1) break; if(bb%2==0){ bb= sude(bb); } else { bb=liche(bb); } counter++; }while(bb!=1); //for(int j=0;j