Cita:
Iniciado por Pantaláimon No es válido leosan, aún no me ha dado tiempo de mirar la solución, pero la firma/prototipo de la función es el requerido por el enunciado. Si la función recursiva tiene más parámetros de los que se requiere, define ésta como una función auxiliar y que la función requerida por el enunciado llame a ésta. ............................................
¡¡¡ Quisquilloso, bandido ¡¡¡.
Pero.....mejor que usar otra función, uffffff, ya que nadie ha dicho nada de que esté prohibido usar variables globales
:
Código C++:
Ver original#include <stdio.h>
#define NUMERO 9
unsigned num0 = NUMERO ;
double promedioCollatz ( unsigned num ) ;
int main ( ) {
int n = promedioCollatz ( NUMERO ) ;
printf ( "\n%g\n" , ( ( n
- 1 ) / ( ( float ) NUMERO
) ) ) ; return 0 ;
}
double promedioCollatz ( unsigned num ) {
if ( num0 == 1 )
return 1 ;
return ( ( num == 1 ) ? promedioCollatz ( --num0 ) : ( num % 2 != 0 ) ? 1 + promedioCollatz ( 3 * num + 1 ) : 1 + promedioCollatz ( num / 2 ) ) ;
}
Pero yo propondría que los prototipos que indicas sean tan sólo una ayuda por si alguien está muy perdido, así se mejoraría la inventiva e ingenio de los retos. Pero claro, es tan sólo una opinión.....
¡¡¡Saluditos!!!