fork download
  1. With Ada.Text_IO; Use Ada.Text_IO;
  2. With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
  3.  
  4. procedure Collatz is
  5. number : Integer;
  6. begin
  7. loop
  8. Put("Enter an integer greater than 1: ");
  9. Get(number);
  10. exit when number > 1;
  11. end loop;
  12. loop
  13. Put(Integer'Image(number));
  14. if number mod 2 = 0 then
  15. number := number / 2;
  16. else
  17. number := 3 * number + 1;
  18. end if;
  19. exit when number = 1;
  20. end loop;
  21. Put(Integer'Image(number));
  22. end Collatz;
Success #stdin #stdout 0.01s 5276KB
stdin
7
stdout
Enter an integer greater than 1:  7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1