![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
![]()
Задание:
есть колода 36 карт(обычные игральные карты) вытаскивается 7 карт случайным образом без повторения нужно узнать если среди них пары(две карты одного достоинства), тройки(три карты одного достоинства), четверки(четыре карты одного достоинства) в отдельности(те если есть тройка => это уж не двойка) для начала.... Что я делаю: 1) создаю массив из 36 элементов по порядку(0,1,2.....35) и второй массив из 7 элементов 2) случайным образом перемешиваю его 3) достаю 7 карт (0,1,2,....6) записываем во второй массив туда значение 0карты %9, 1 карты %9 и тд... 4) с парами я еще разобрался, а вот с тройками и четверками хз ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]()
Саоме короткое решение таких задач стандартно: сначала сортируем вытащеные карты по достоинству, потом просматриваем на нужные нам комбианации. В отсортированном массиве все они определеяются довольно однозначно - и нету необходимости пребирать множество комбинаций. Если есть карты, отдаленные на 3 и в то же время равны, то есть 4ка (пример - если после сортировки равны 1ая и 4ая, или 2ая и 5ая, или 3ая и 6ая, или 4ая и 7ая (одним проходом цикла, смотреть на карту с индексированным номером)). Для троек - то же самое, только отдаленность в массиве 2. Чтобы не посчитать 4ку к 3кам и к паре 2ек, можно, к примеру, наложить дополнительное условие (тоесть, тройка, если карта равна карте, которая за 2 перед ней, и не равна карте, которая после нее и карте, которая за 3 перед ней).
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортирование | sqwerty | Общие вопросы C/C++ | 1 | 06.04.2009 10:08 |
Сортирование масивов за один проход | NightWishMaster | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 18.10.2007 08:05 |