Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2011, 20:37   #11
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

собсна я тут подумал )) количество чисел то это всего лишь степени 2-ки
нужно вывести двоичное представление всех этих чисел , масками можно выделить каждый бит.. и никакой рекурсии.. и всего 1 цикл.
onewho вне форума Ответить с цитированием
Старый 02.03.2011, 20:45   #12
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

Скилетик, Чесно не очень понял, можешь комментарии добавить???
Mr_freeman вне форума Ответить с цитированием
Старый 02.03.2011, 20:49   #13
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

onewho, я об этом тоже думал) Но в ходе "писанины" оказалось что может быть 100-ая степень двойки... и не думаю что есть тип чисел с таким диапазоном... но мне нравится твое направление мысли
Mr_freeman вне форума Ответить с цитированием
Старый 02.03.2011, 20:50   #14
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

Попрубуйте мой нижеизложенный код, там только нужно повторения отсечь, а так почти уверен, на 99% что все варианты просматривает.
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 02.03.2011, 20:51   #15
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

как-то так (писал прямо здесь).
Код:
var
mm: array[0..n] of integer;

for k:=0 to n do mm[k]:=0;
j:=n;
while j>=0 do begin
  if mm[j]<max then begin 
     mm[j]:=mm[j]+1;
     for k:=j+1 to n do mm[k]:=0;
//здесь готовый вариант
     j:=n;
  end
  else begin 
    j:=j-1; 
  end;
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.03.2011 в 21:17.
evg_m вне форума Ответить с цитированием
Старый 02.03.2011, 21:08   #16
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

вот пример тока на С...
const int n=7; // размерность
char str[33];
int count=pow(2,n); // количество проходов цикла = 2 в степени n

for (int i=0;i<count; i++) { // цикл
itoa(i,str,2); // в строку str пишем двоичную форму текущего числа i
cout<<str<<'\n'; // вывод
}

теперь тебе нужно каждую букву строки str по порядку записать в матрицу.. като так))
не знаю геморно я придумал или нет но по крайней мере не 25 циклов))
onewho вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор всех возможных вариантов phenix Помощь студентам 3 03.12.2010 21:29
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13
Перебор всех возможных вариантов [MI_nor] Общие вопросы C/C++ 9 01.04.2009 21:17
Перебор вариантов... или что-то такое elsin Общие вопросы Delphi 3 15.01.2009 22:13
Перебор элементов матрицы pikkk Общие вопросы Delphi 3 09.05.2008 14:45