Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массивы: вывод элементов, Последовательный вывод элементов массива 
V
    Опции темы
Rname
Дата 20.1.2010, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.1.2010

Репутация: нет
Всего: нет



Вопрос достаточно простой, но пока не нашел для него решения:
Пусть есть массив всех 10ти цифр [0..9]
Нужно: вывести все возможные комбинации четырехзначных чисел.
При этом важно, чтобы вывод был ПОСЛЕДОВАТЕЛЬНЫМ (т.е. 1111, затем 1112, 1113 и т.д.), НЕСЛУЧАЙНЫМ, и главное - охватывал бы ВСЕ возможные комбинации.
Сразу скажу, что посчитать факториал - нетрудно: мне интересен алгоритм именно вывода.
Заранее всем спасибо.
PM MAIL   Вверх
bilbobagginz
Дата 26.1.2010, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



Rname, нужно чтобы тема отражала суть вопроса.
твой вопрос - комбинаторный, и очень похож на школьный..
Цитата(Rname @  20.1.2010,  18:46 Найти цитируемый пост)
Сразу скажу, что посчитать факториал - нетрудно

да это так, но факториал чего ты собирался подсчитать ?




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
source777
Дата 27.1.2010, 15:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(Rname @  20.1.2010,  19:46 Найти цитируемый пост)
Пусть есть массив всех 10ти цифр [0..9]
Нужно: вывести все возможные комбинации четырехзначных чисел.
При этом важно, чтобы вывод был ПОСЛЕДОВАТЕЛЬНЫМ (т.е. 1111, затем 1112, 1113 и т.д.), НЕСЛУЧАЙНЫМ, и главное - охватывал бы ВСЕ возможные комбинации.

Код

(1000..9999).each{|i| puts i}

 smile 


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
shine
Дата 27.1.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 20.10.2006

Репутация: 3
Всего: 5



source777, ну и нафига ты тему спалил? Человек всего неделю над "алгоритмом" думал... smile

p.s. Кстати не 1000, а 1111.
--------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin
PM MAIL   Вверх
source777
Дата 27.1.2010, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(shine @  27.1.2010,  15:55 Найти цитируемый пост)
p.s. Кстати не 1000, а 1111.

ну это топикстартер с чего-то так решил, что первое число 1111, а по мне так 1000 тоже является четырехзначным числом из комбинации цифр от 0 до 9. Разве нет?

Это сообщение отредактировал(а) source777 - 27.1.2010, 16:05


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Rname
Дата 1.2.2010, 15:39 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.1.2010

Репутация: нет
Всего: нет



Цитата(shine @ 27.1.2010,  15:55)
source777, ну и нафига ты тему спалил? Человек всего неделю над "алгоритмом" думал... smile

p.s. Кстати не 1000, а 1111.

собственно - а зачем тогда форум?
тем более, что на вопрос, по существу так и не ответили.

Добавлено через 5 минут и 37 секунд
Цитата(source777 @ 27.1.2010,  15:03)
Цитата(Rname @  20.1.2010,  19:46 Найти цитируемый пост)
Пусть есть массив всех 10ти цифр [0..9]
Нужно: вывести все возможные комбинации четырехзначных чисел.
При этом важно, чтобы вывод был ПОСЛЕДОВАТЕЛЬНЫМ (т.е. 1111, затем 1112, 1113 и т.д.), НЕСЛУЧАЙНЫМ, и главное - охватывал бы ВСЕ возможные комбинации.

Код

(1000..9999).each{|i| puts i}

 smile

Цитата

(1000..9999).each{|i| puts i}

Спасибо за ответ: за рубиВЭЙ, так сказать smile 
 И все же - это не совсем то: 
ведь такие варианты как 0001, 0010, 0990 и т.д. не выводятся. 
и поэтому уже с 7-9значными числами слишком много "неучтенных".
может быть есть предложение?
PM MAIL   Вверх
fixxer
Дата 2.2.2010, 12:32 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: нет
Всего: 27



Код

(0..9999).each { |i| puts "%04d" % i }



--------------------
user posted image
PM MAIL ICQ   Вверх
Rname
Дата 2.2.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.1.2010

Репутация: нет
Всего: нет



Цитата(fixxer @ 2.2.2010,  12:32)
Код

(0..9999).each { |i| puts "%04d" % i }

Цитата

(0..9999).each { |i| puts "%04d" % i }

Спасибо.

Добавлено через 2 минуты и 26 секунд
Всем спасибо. Вопрос закрыт (для меня по крайней мере). smile 
PM MAIL   Вверх
source777
Дата 3.2.2010, 20:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(Rname @  1.2.2010,  15:39 Найти цитируемый пост)
ведь такие варианты как 0001, 0010, 0990 и т.д. не выводятся.

 smile 
Это с каких пор 0001, 0010, 0990 стали четырёхзначными числами? Ты уроки математики в школе прогуливал что ли?
Напоминаю, что разрядностью числа называется количество числовых разрядов, необходимых для записи этого числа.

Это сообщение отредактировал(а) source777 - 3.2.2010, 20:13


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
bilbobagginz
Дата 7.2.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



Цитата(Rname @  1.2.2010,  14:39 Найти цитируемый пост)
ведь такие варианты как 0001, 0010, 0990 и т.д. не выводятся. 

выводятся и очень просто:
  • берем 1 флакон "Дихлофоса"
  • одеваем противогаз/покрасочную маску/или просто влажную тряпку на морду лица
  • брызгаем туда где эти 0001, 0010, 0990 и т.д. водятся
  • уходим из дома на 1 сутки
  • по возвращении не забываем проветрить квартиру!
voila! всех вывели!

P.S. к счастью за сутки можно посчитать много факториалов!


Это сообщение отредактировал(а) bilbobagginz - 7.2.2010, 12:52


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
sharpromka
Дата 22.3.2010, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.3.2010

Репутация: нет
Всего: нет



Весела я темка вышла, но с етим сложнейшим алгоритмом прикол вышел.... Начал учить Ruby, после строгих языков и просто в шоке...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1224 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.