fork download
  1. program taverna;
  2. const MAX=1000;
  3. var A,B,conta:integer;
  4. uscita:boolean;
  5. begin
  6. readln(A,B);
  7. conta:=0; uscita:=false;
  8. while ((A<>1) or (B<>1)) and (uscita=false) do
  9. begin
  10. if (A mod 2=0) and (B mod 2=0) then begin A:=A div 2; B:=B div 2; end
  11. else
  12. if(A mod 2<>0) and (B mod 2<>0) then begin A:= 3*A+1; B:= 3*B+1; end
  13. else
  14. begin
  15. if (A mod 2<>0) then A:=A+3;
  16. if (B mod 2<>0) then B:=B+3;
  17. end;
  18. conta:=conta+1;
  19. if ((A=1) and (B=2)) or ((A=2) and (B=1)) then uscita:=true;
  20. end;
  21. if uscita=true then writeln(-1)
  22. else writeln(conta)
  23. end.
Success #stdin #stdout 0.01s 5300KB
stdin
46 56
stdout
-1