Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.04.2011, 09:09
Andrey730 вне форума Посмотреть профиль Отправить личное сообщение для Andrey730 Найти все сообщения от Andrey730
  № 1  
Ответить с цитированием
Andrey730

Регистрация: Feb 2011
Сообщений: 5
По умолчанию Комбинаторика в AS 3.0

Как реализовать следующее: Нужно занести в массив все возможные варианты расстановки "1" и "2" в 6 мест. То биш, варианты должны быть вроде таких: 111111, 111112, 111121 и т.д.
Пробовал реализовать через циклы, не получилось. Там, когда пытался вывести массив, выдавало:
Код:
1
      
12
      
121
      
121
      
1211
      
12112
      
121122
      
121122
      
1211221
      
12112212
      
121122121
      
121122121
      
121122121
      
1211221211
      
12112212112
      
121122121121
      
121122121121
      
1211221211211
      
12112212112112
      
121122121121122
      
121122121121122
      
1211221211211221
      
12112212112112212
      
121122121121122122
      
121122121121122122
      
121122121121122122
      
1211221211211221221
      
12112212112112212212
      
121122121121122122121
      
121122121121122122121
      
1211221211211221221211
      
12112212112112212212112
      
121122121121122122121122
      
121122121121122122121122
      
1211221211211221221211221
      
12112212112112212212112212
      
121122121121122122121122121
      
121122121121122122121122121
      
121122121121122122121122121
      
121122121121122122121122121
      
1211221211211221221211221211
      
12112212112112212212112212112
      
121122121121122122121122121121
      
121122121121122122121122121121
      
1211221211211221221211221211211
      
12112212112112212212112212112112
      
121122121121122122121122121121122
      
121122121121122122121122121121122
      
1211221211211221221211221211211221
      
12112212112112212212112212112112212
      
121122121121122122121122121121122121
      
121122121121122122121122121121122121
      
121122121121122122121122121121122121
      
1211221211211221221211221211211221211
      
12112212112112212212112212112112212112
      
121122121121122122121122121121122121121
      
121122121121122122121122121121122121121
      
1211221211211221221211221211211221211211
      
12112212112112212212112212112112212112112
      
121122121121122122121122121121122121121122
      
121122121121122122121122121121122121121122
      
1211221211211221221211221211211221211211221
      
12112212112112212212112212112112212112112212
      
121122121121122122121122121121122121121122122

Старый 18.04.2011, 09:17
Cornford вне форума Посмотреть профиль Отправить личное сообщение для Cornford Найти все сообщения от Cornford
  № 2  
Ответить с цитированием
Cornford

Регистрация: Oct 2009
Сообщений: 174
например так:
Код AS3:
var arr:Array = [1, 1, 1, 1, 1, 1];
 
for (var i:int = 0; i<=5; i++){
    arr[i] = 2;
    trace(arr);
    arr = [1, 1, 1, 1, 1, 1];
}
криво конечно, но должно работать)

Старый 18.04.2011, 09:57
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Cornford, по-моему слишком криво, чтобы работать )
Есть другой вариант
Код AS3:
 
var array:Array = new Array(6);
for (var i:int = 6; i > 0; i --) {
       array[i] = [1, 1, 1, 1, 1, 1]; // делаем сначала 6 ячейку равной всем однеркам
       array[i][i] = 2; // потом шестую ячейку, шестой ячейки заменяем на 2.
       // ну и далее по циклу, 5 ячейку всем однеркам, потом пятую ячейку пятой ячейки равной 2 и т.д.
}
Думаю идея ясна. Может конечно не правильно полнял вопрос
П.с. код писал прямо здесь, не тестировал

Старый 18.04.2011, 10:05
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Автору нужны ВСЕ возможные варианты расстановки 1 и 2, т.е. их будет 2 в шестой степени, а не шесть штук. Достаточно перечислить все числа от 0 до 63, и вывести их строковое значение по основанию 2, с заменой цифр на необходимые символы. 0, допустим на 2 заменить.

Старый 18.04.2011, 11:05
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 5  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
udaaff, +1, если 1 и 111111 - одинаковые.
Код AS3:
for (var i:uint = 0; i < 1 << 6; ++i) {
				var s:String = "";
				for (var j:uint = 0; j < 6; ++j) {
					s += String( ((i >> j) % 2) + 1);
				}
				trace(s);
			}
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.