Advertisement
B1KMusic

Collatz solution

Apr 13th, 2016
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int
  5. collatz(int n)
  6. {
  7.     if(n % 2 == 0){
  8.         return n / 2;
  9.     } else {
  10.         return (n * 3) + 1;
  11.     }
  12. }
  13.  
  14. void
  15. die(const char *msg)
  16. {
  17.     printf("%s\n", msg);
  18.     exit(1);
  19. }
  20.  
  21. int
  22. main(int argc, char **argv)
  23. {
  24.     int number = 0;
  25.    
  26.     if(argc > 1){
  27.         number = atoi(argv[1]);
  28.     } else {
  29.         die("Usage: ./collatz [positive integer]");
  30.     }
  31.  
  32.     printf("%i\n", number);
  33.  
  34.     while(number > 1){
  35.         number = collatz(number);
  36.         printf("%i\n", number);
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement