Răspuns:
#include <stdio.h>
int main()
{
int n;
printf("Introdu n >> ");
scanf("%d", &n);
if (n % 2 == 0)
while (n != 1)
n /= 2;
else
{
n = (n * 3) + 1;
if (n % 2 == 0)
while (n != 1)
n /= 2;
}
printf("Noul n >> %d\n", n);
return 0;
}
Explicație:
Citești n-ul de la tastatură, dacă restul impărțirii lui n la 2 este 0 înseamnă că numărul este par deci împarți la 2 până când numărul e diferit de 1.
Dacă restul este diferit de 0 înseamnă că numărul este impar deci înmulțești numărul cu 3, aduni cu 1 și verifici dacă rezultatul este par. Dacă este par din nou împarți la 2 până când rezultatul final este 1.