При моделировании проблемы Colatz Conjecture я сделал рекурсию, когда хочу напечатать номер счета в рекурсии. Я получаю результат, который мне нужен, но когда функция возвращает результат, она дает мне странные числа, почему что?3n + 1 странные вещи, происходящие
#include <stdio.h>
#include <stdlib.h>
int divide(int n,int count){
if(n<=1){printf("%d ",count);return count;}
if(n%2==1){divide(n=3*n+1, ++count);}
else{divide(n/=2, ++count);}
}
int main(void) {
printf("%d ",divide(10,1));
return 0;
}
BTW: Я не думаю, что Collatz на самом деле разрешен. – wildplasser