RETOS C++

Iniciado por Stakewinner00, 20 Septiembre 2012, 18:20 PM

0 Miembros y 3 Visitantes están viendo este tema.

do-while

#160
15.1:
Código (cpp) [Seleccionar]

#include <iostream>
#include <cmath>

using namespace std;

#define FI ((1 + sqrt(5)) / 2)
#define fibo(n) ((unsigned long long)((pow(FI , (n)) - pow(1 - FI , (n)))/(2 * FI - 1)))

int main(int argc, char *agrv[])
{
   for(int i = 0 ; i < 30 ; i++)
       cout << fibo(i)<< endl;

   return 0;
}


15.2:
Código (cpp) [Seleccionar]

#include <iostream>
#include <cmath>

using namespace std;

#define FI ((1 + sqrt(5)) / 2)
#define fibo(n) ((unsigned long long)((pow(FI , (n)) - pow(1 - FI , (n)))/(2 * FI - 1)))

int main(int argc, char *agrv[])
{
   for(int i = 1 ; i < 31 ; i++)
       cout << ((double)(fibo(i + 1))) / fibo(i)<< endl;

   return 0;
}


¡Saludos!

PD: Parece que definiendo fibo como unsigned long long, por lo menos con gcc, funciona mejor que sin hacer el cast
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Puntoinfinito

5- Un creador de diccionarios para fuerza bruta

50 puntos

Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    srand ( time(NULL) );
    int lenght = 0, palabra = 0, mtr = 0;
    int caracter = 0;
    ofstream texto;
    texto.open("diccionario.txt");
    cout << "Pon la longitud de las palabras a generar >> ";
    cin >> lenght;
    while (palabra < 100) {
    while (mtr < lenght) {
    caracter = rand() % 80 + 43; // Se puede editar para cambiar los caracteres que se van a generar
    mtr++;
    texto << char(caracter);
    }
    mtr = 0;
    palabra++;
    texto << "\n";
    }
    cout << "Diccionario acabado con 100 palabras";
    cin.sync();
    cin.get();
    return 0;
}

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

leosansan

Cita de: Stakewinner00 en 20 Septiembre 2012, 18:20 PM
15-(Similar al anterior)Crear un programa que obtenga el numero phi o aureo a partir de la serie de Fibonacci (el bucle tiene que tener un minimo de 30 ciclos) .
15p
CitarPues aquí está una posible solución:
Código (cpp) [Seleccionar]
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    long num,cont=0;
    long f0=0,f1=1;
    while (cont<=30)
        {
            long f2 = f0 + f1;
            f0 = f1;
            f1 = f2;
            if (cont==30) cout << (float) f1/f0;
            cont++;
        }
   return 0;
}

Saludos!. ... y puntos, puntos

Stakewinner00

#163
Puntoinfinito el diccionario tendria que comenzar por a y acavar por zz o algo asi. Bueno da = como minimo funciona.

Si a alguien se encuentra con algun problema que se pueda poner como reto que no dude en postearlo, que yo ya no tengo ideas.