#include #include #include #include #include int counter=1; void handler(int sig){ if(sig == SIGINT){ printf("Early ending. the current ammount of application is : %d\n", counter); exit(0); } } int collatz(int n){ sleep(1); if (n % 2 == 0) return n / 2; return 3 * n + 1; } int main(int argc, char *argv[]) { signal(SIGINT, handler); if (argc != 2) exit(1); int test = atoi(argv[1]); printf("%d\n", test); while(test != 1){ counter++; test = collatz(test); printf("%d\n", test); } printf("---\n%d\n", counter); return 0; }