// Define the recursive function.
int collatz(int p1)
{
// While Loop Starting
while (p1>1)
{
//when the number is even
if(p1%2==0)
{
p1 = p1/2;
printf("%d ", p1);
//using recursion
return collatz(p1);
}
// Case where number is odd.
elseif
{
p1 = 3*p1+1;
//print function
printf("%d ", p1);
//using recursion
return collatz(p1);
}
}
}
// Main body.
int main()
{
// Declare the variable and initialized it.
int p1= 4;
//print function
printf("User Entered value : %d\n", p1);
// Display the number
printf("%d\n", collatz(p1));
//End
return 0;
}
Вывод: Я получаю выход как: 2, 1, 1 я не должен получить последний номер 1 repeated.Could, пожалуйста, поправьте меня, где я сделал ошибку. Пожалуйста сделай все необходимое.Коллатца последовательность получения последнего номера 1 повторена
1) C и C++ - разные языки. Выбери один! 2) Это не C или C++. 3) См. [Ask]. – Olaf
Я написал в C – chandu
Итак, почему добавлен тег для другого языка? Измените свой вопрос по двум другим вопросам. – Olaf