PD: Si alguno pone el tiempo total de ejecución para 5 cifras para comparar tiempos podría ser divertido yo con mi core quad 8600 en 48seg
PD2: por las lineas 30 y 24 quizas solo puedas ejecutarlo en windows, comenta las lineas si usas otro sistema operativo y creo que ya seria multiplataforma (corregidme si me equivoco)
PD3: y 6 cifras 306 segundos!!
Código
#include <iostream> #include <fstream> //para entrada y salida al archivo #include <iomanip> //para setfill y setw #include <math.h> //para funcion pow #include <stdlib.h> using namespace std; //main int main() { //declaro variables para la generacion del diccionario int cont=0; //contador int maximo,cifras; //numero maximo del diccionario y cifras que se desean //creacion archivo para guardar numeros ofstream fs("diccionario.txt"); //inicio cout << "\nIntroduzca la cantidad de cifras que desee para el diccionario.\nEjemplo: 6 para diccionario de seis digitos(000000-999999)\n" << endl; cout << "Introduce 0 para salir"<<endl; cin >> cifras; //limpiamos pantalla system("cls"); if (cifras!=0){ //calculamos el maximo segun la cifra introducida ej 3 ==> hasta 1000 (0-999) maximo = pow(10,cifras); cout << "Has seleccionado "<<cifras<<" cifras\nSe generaran "<< maximo <<" numeros"<<endl; system("PAUSE"); } //bucle para escribir numeros while (cont<=maximo&&cifras!=0){ //texto mientras se genera el diccionario cout << "Generando diccionario... \n" << endl; //escribimos numero actual en archivo //setfill coloca ceros a la izquierda y setw indica la cantidad de ceros fs << setfill('0') << setw(cifras) << cont << endl; cont++; }//fin bucle //cerramos el fichero fs.close(); //mensaje final if (cifras!=0){ cout << "Diccionario completado y guardado. "<< endl; } else { cout << "********************ADIOS********************"<< endl; } return 0; }