НГУ
http://forum.nsu.ru/

алглоритм получения декартова произведения n множеств
http://forum.nsu.ru/viewtopic.php?f=24&t=23692
Страница 1 из 1

Автор:  alex_dorin [ Пн фев 25, 2013 6:52 pm ]
Заголовок сообщения:  алглоритм получения декартова произведения n множеств

Подскажите, пожалуйста, алглоритм получения декартова произведения n множеств в терминах циклов и пр в любом алгоритмическом языке без
использования рекурсивных вызовов. Рекурсивные вызовы переполняют стек
из-за большого количества итераций и , поэтому, здесь не приемлемы.
Здесь n - не константа
С уважением А Дорин

Автор:  AGu [ Вт фев 26, 2013 10:01 pm ]
Заголовок сообщения: 

Программерам, походу, лень отвечать. :-)
Так что отвечу я:
В топике StackOverflow есть несколько решений на JScript.

Что касается идеи, то она довольно прозрачна.
Предположим для начала, что мы хотим перемножить
три одинаковых 10-элементных множества:

{0,1,...,9} x {0,1,...,9} x {0,1,...,9}.

Полный список элементов такого произведения
(коих ровно тысяча штук) выглядит примерно так:

000, 001, ..., 009,
010, 011, ..., 019,
...,
990, 991, ..., 999.

Ясно, что для их перечисления можно просто тупо
"посчитать" от 0 до 999 в десятичной системе счисления.

Теперь уже рукой подать до общего случая:
для каждой позиции фиксируем свое основание счисления,
равное мощности соответствующего множества-множителя,
и считаем в этой "мультиосновной" системе от 0 и до упора.

Автор:  demonoide [ Пт апр 18, 2014 1:38 am ]
Заголовок сообщения: 

Кнут "Искусство программирования", том 4 выпуск 2

Автор:  clever222 [ Ср апр 30, 2014 10:26 pm ]
Заголовок сообщения: 

Почитай Пронина, программирование С++ том 3

Страница 1 из 1 Часовой пояс: UTC + 7 часов
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/