Показать сообщение отдельно

  #6  
Старый 23.11.2009, 19:22
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

Цитата:
Сообщение от razb  
Делаешь вложенный цикл, с глубиной вложения равной количеству символов в пассе.
и отправляешь сорец на сайт говнокодру.

Код:
#include <iostream>
#include <string>
#include <vector>
using namespace std;

string passFromCounter(int counter, const vector<string>& letters);

void main()
{
	vector<string> letters;
	letters.push_back("a");
	letters.push_back("b");
	letters.push_back("c");
	letters.push_back("d");
	letters.push_back("e");

	int counter = 0;

	while (counter < 50){
		cout << passFromCounter(counter++, letters) << endl;
	}
	system("pause");
}

string passFromCounter(int counter, const vector<string>& letters){
	int num = letters.size();
	int local_mutation_step = counter;
	string pass;

	do{
		pass = letters.at((local_mutation_step % num)) + pass;
		local_mutation_step = local_mutation_step / num - 1;
	}while(local_mutation_step >= 0);

	return pass;
}
Немножко математики спасают от тупого хардкодирования. Как это работает я уже не раз описывал тут. Как подобрать длину пароля - с 3х до 6ти букв - придумайте сами. Простая арифметика.
 
Ответить с цитированием