Показать сообщение отдельно
 26.04.2013, 10:10  
По умолчанию Re: алгоритм перебора знаков
#12
  PMR PMR вне форума
  Администратор
 Аватар для PMR
Детали профиля (+/-)
Ответов: 42,208
Регистрация: 12.05.2008
Адрес: Тирасполь
Спасибо:4,669/4,988
Не понравилось:136/372
Репутация: PMR отключил(а) отображение уровня репутации

Вот все таки я разобрался с твоим алгоритмом.
4-ядерный i5 3.3 ГГерц выполняет генерацию строк длиной 3 (в коде найди dlina <= 3) символа минут 10.

Вот сам код программы:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace boris_app
**
    public partial class Form1 : Form
    **
        public int i = 0;
        public string[] mas = new string[1];
        public int dlina;

        public Form1()
        **
            InitializeComponent();
        **

        public string Rec()
        **
          
            int max = mas.Length;
            for (int a = 0; a < max; a++)
                **
                    for (int b = 0; b < 62; b++)
                    **
                        string dl = mas[a] + mas[b];
                        if (dl.Length == dlina)
                        **
                            mas[i] = mas[a] + mas[b];
                            listBox1.Items.Add(mas[i]);
                            Array.Resize(ref mas, mas.Length + 1);
                            i = i + 1;
                        **
                    **
                **
            
                return "1";
        ** 


        private void button1_Click(object sender, EventArgs e)
        **


           for (int a = 48; a <= 122; a++)
           **
               if ((a >= 48 && a <= 57) || (a >= 65 && a <= 90) || (a >= 97 && a <= 122))
               **
                   mas[i] = char.ToString((char)a);
                   listBox1.Items.Add(mas[i]);
                   Array.Resize(ref mas, mas.Length + 1);
                   i = i + 1;
               **
           **

           for (dlina = 2; dlina <= 3; dlina++)
           ** string f = Rec(); **

            
        **
    **
**
Так что завози смело ко мне на работу бутылочку коньяка!
________________
Судьба - совокупность совершенных глупостей человека. Любите и принимайте людей такими, какие они есть.
Если Вас оскорбили - нажимаем "Пожаловаться на это сообщение" слева от поста под аватаром хама.
  Вверх