Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перебор двоичных комбинаций

9.8K
07 апреля 2006 года
linker3
28 / / 29.11.2005
Господа помогите пожалуйста в написании программы. Условие таковое: необходимо ввести длинну кода <=16 , сгенерировать всевозможные кодовые комбинации для двоичного кода введённой длинны. Пример: ввели например 3,
000, 001, 010, ... ну и до 111, порядок не имеет значения. Смысл перебрать эти комбинации. Необзодимо именно реализовать механизм перебора комбинаций, а не простого порядка - типа перевода десятичных чисел в двоичные. Буду признателен за помощь!
1.8K
08 апреля 2006 года
LastSoul
279 / / 28.12.2005
Цитата:
Originally posted by linker3
Господа помогите пожалуйста в написании программы. Условие таковое: необходимо ввести длинну кода <=16 , сгенерировать всевозможные кодовые комбинации для двоичного кода введённой длинны. Пример: ввели например 3,
000, 001, 010, ... ну и до 111, порядок не имеет значения. Смысл перебрать эти комбинации. Необзодимо именно реализовать механизм перебора комбинаций, а не простого порядка - типа перевода десятичных чисел в двоичные. Буду признателен за помощь!


Pascal:

Код:
Program PROG;
Uses CRT;
Var s:String;
    i,n:Integer;
    b:Boolean;
Begin
 ClrScr;
 s:='';
 Write('Enter a length: '); ReadLn(n);
 For i:=1 To n Do s:=s+'0';
 i:=n;
 WriteLn(s);
 Repeat
  If s[n]='0' Then s[n]:='1'
   Else
   Begin
    s[n]:='0';
    For i:=n-1 DownTo 1 Do
     If s='0' Then
       Begin
        s:='1';
        Break;
       End Else s:='0';
   End;
  WriteLn(s);
  b:=True;
  For i:=1 To n Do
   If s='0' Then Begin b:=False; Break; End;
 Until b;
ReadLn;
End.
70K
04 апреля 2011 года
v1taily
1 / / 04.04.2011
Это то что нужно! спс
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог