// // 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; return x; } int over(int bb,vector pole, int pocet_prvku){ for(int i=0;i pole(size); int a, b; while(1){ cin>>a>>b; if (a==0 && b==0) break; int aa=a; int bb=b; int i=0; int pocet_prvku; while(aa!=1){ pole[i++]=aa; if(aa%2==0){ aa= sude(aa); } else { aa=liche(aa); } if(i==size-1) { size*=2; pole.resize(size); } } pocet_prvku=i; int counter=0; int pozice_a=0; while(bb!=1){ pozice_a=over(bb,pole,pocet_prvku); if(pozice_a!=-1) break; if(bb%2==0){ bb= sude(bb); } else { bb=liche(bb); } counter++; } cout<