fork download
  1. /*
  2.   プログラミングのお題スレ Part13
  3.   https://m...content-available-to-author-only...h.net/test/read.cgi/tech/1549160513
  4.  
  5.   >>875
  6. */
  7.  
  8. #include <stdio.h>
  9.  
  10. int chain(int m){
  11. printf(">chain %d\n", m);
  12. if(m <= 0){
  13. puts("ERROR\n");
  14. return(1);
  15. }
  16. printf("[ %d", m);
  17. while(m != 1){
  18. if(m & 1){
  19. m = m * 3 + 1;
  20. }else{
  21. m /= 2;
  22. }
  23. printf(", %d", m);
  24. }
  25. puts(" ]\n");
  26. return(0);
  27. }
  28.  
  29. int main(void){
  30. chain(10);
  31. chain(1);
  32. chain(30);
  33. chain(0);
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
>chain 10
[ 10, 5, 16, 8, 4, 2, 1 ]

>chain 1
[ 1 ]

>chain 30
[ 30, 15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1 ]

>chain 0
ERROR