Hola, a ver si me pueden corregir este programa en C jeje
Programa que pedirá un número entero y hace una función
int f2x3 con:
1) Si "n" es 1 escribirá "n" por pantalla y devolverá un 1.
2) Si "n" no es 1 y si es múltiplo de 2 y es múltiplo de 3 escribirá "n" por pantalla y
llamará a f2x3 con el valor n+5.
3) Si "n" no es 1 y es múltiplo de 2 pero no es múltiplo de 3 escribirá "n" por
pantalla y llamará a f2x3 con el valor n/2.
4) Si "n" no es 1 y es múltiplo de 3 pero no es múltiplo de 2 escribirá "n" por
pantalla y llamará a f2x3 con el valor n+2.
5) Si "n" no es 1 y no es múltiplo de 2 ni múltiplo de 3 escribirá "n" por pantalla
y llamará a f2x3 con el valor n-1.
Ejemplo: Si introducimos un 18
Escribirá por pantalla: 18,23,22,11,10,5,4,2,1 Total: 9 llamadas
#include <stdio.h>
#include <stdlib.h>
#define FALSE 0
#define TRUE 1
/* Declaracion de las funciones */
unsigned int f2x3 (int);
/* Menu principal */
int main(void){
unsigned int n; // Variable "n" donde se guarda el numero y que utilizará la funcion
printf("Escribe un numero: "); scanf("%d", &n
); // guardamos el numero introducido
printf("\nTotal de llamadas: %d \n", f2x3
(n
)); // Mostramos el total de llamadas de la funcion
return 0;
} // Fin main
/* Funcion */
unsigned int f2x3 (int n) {
printf("%i ", n
); // Listamos los numeros que va llamando la funcion
if (n == 1) return 1; // Primer caso, si el valor es igual a 1 entonces retornará 1
if ((n != 1) && (n % 2 == 0) && (n % 3 == 0)) return f2x3(n+5); // Caso II
if ((n != 1) && (n % 2 == 0) && (n % 3 != 0)) return f2x3(n/2); // Caso III
if ((n != 1) && (n % 2 != 0) && (n % 3 == 0)) return f2x3(n+2); // Caso IV
if ((n != 1) && (n % 2 != 0) && (n % 3 != 0)) return f2x3(n-1); // Caso V
} // Fin de la funcion
Gracias y un saludo