elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cubos de Nicoman
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cubos de Nicoman  (Leído 1,536 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Cubos de Nicoman
« en: 27 Mayo 2019, 23:31 pm »

Hola estaba practicando unos ejercicios para no perder la logica y me tope con este algoritmo que calcula el cubo con el metodo de Nicoman

Código
  1. int main()
  2. {
  3. int n=3, inp, cubo=0;
  4. inp=n*(n-1);
  5. for(int i=1,c=0;c<n;i+=2,c++)
  6. cubo+=inp+i;
  7. cout<<"Cubo: "<<cubo<<endl;
  8. return 0;
  9. }

Lo que me da 27 por pantalla, inp me da 6 despues en ese bucle a cubo le asigno cubo(0)+=inpar(6)+i(1) ,luego cubo(7)+=inpar(6)+i(3) y finalmente cubo(16)+=inpar(6)+i(5), que me da un total de 27;

Queria hacerlo con una función recursiva y bueno necesito ayuda jeje!  ;-)


En línea

7w7
K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Cubos de Nicoman
« Respuesta #1 en: 28 Mayo 2019, 14:59 pm »

Para hacer una recurrencia debemos ver qué variables se van modificando en cada iteración y cuál es la condición de salida.
  • Condición de salida (c >= n)
  • Variables que se modifican: <i> <c>

Ahora las variables que se van modificando las tenemos que incluir como parámetros y el bucle lo tenemos que convertir en un condicional con llamadas recursivas.
Código
  1. size_t cuboNicomanoRecurrente(unsigned numero, unsigned iteracion = 0, unsigned impar = 1){
  2.    if(iteracion < numero-1)
  3.        return numero*(numero-1) + impar + cuboNicomanoRecurrente(numero, iteracion+1, impar+2);
  4.    return numero*(numero-1) + impar;
  5. }


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
suma de cuadrados y de cubos
Desafíos - Wargames
raulrl 8 35,216 Último mensaje 12 Marzo 2011, 02:37 am
por Dacan
Reto - Intersección de 2 cubos
Ejercicios
[D4N93R] 4 7,516 Último mensaje 19 Agosto 2010, 21:36 pm
por [D4N93R]
Alcatel-Lucent sustituye las antenas base por diminutos cubos de 300 gramos
Noticias
wolfbcn 0 1,426 Último mensaje 9 Febrero 2011, 16:01 pm
por wolfbcn
¿Como hacer una I.A. sencilla para un juego de cubos?
Programación C/C++
SonicBlader 0 2,049 Último mensaje 20 Mayo 2012, 05:48 am
por SonicBlader
¿Usar cubos para data mining?
Bases de Datos
skan 0 2,048 Último mensaje 23 Febrero 2015, 22:12 pm
por skan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines