Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Флейм
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.11.2011, 21:34
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию Решите задачку

Предлагаю размять мозг и решить задачку на логику. Тут недавно на олимпиаду ходил по информатике(учусь в 11 классе) и там вот такая задачка была:
На конкурсе вирус-программ принимало участие 30 программ. Все программы запускались по очереди на одном винчестере в режиме дуэли(программа выбирает себе свободного соперника, и далее они воюют друг с другом до победы одной из них). Программа, потерпевшая поражение, прекращает свою работу. Каждой программе которая сумела выбить из борьбы трех конкурентов, присваивалось звание победителя конкурса. Чему равно наибольшее количество программ, котоые могли получить звание победителя конкурса.

Вот такая задачка, решили у нас только 4 человека, у троих получился ответ - 3, но это не верный ответ,так как они не учли одну деталь), а у меня получилось 9, если кому-то интересно могу объяснить свою теорию.
Хотелось бы выслушать ваши варианты...
Ответить с цитированием
  #2  
Старый 25.11.2011, 23:27
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Может быть 10?
Ответить с цитированием
  #3  
Старый 26.11.2011, 05:41
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Я бы сказал 7.
Ответить с цитированием
  #4  
Старый 26.11.2011, 10:25
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию

У меня получилось 8.
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
  #5  
Старый 26.11.2011, 10:53
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Да, да, да - 7. И одна с одним выиграшем остается лишняя.
Только странно получается что лишние остаются, мб потом они соревнуются дальше по кругу или еще как то, а то одна программа остается совершившая только один поединок.
Ответить с цитированием
  #6  
Старый 26.11.2011, 11:33
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Kingcss
Предлагаю размять мозг и решить задачку на логику.
Прикольно
На мой взгляд правильным ответом будет 4.
__________________
Google в помощь
Ответить с цитированием
  #7  
Старый 26.11.2011, 12:00
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А может быть и одна, которая сделает format c:
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 26.11.2011, 12:24
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Ответ все-таки 7. А лишние остаются, т.к. такое число задали. Было бы 40 - не осталось бы (тогда наверное ответ был бы 10 все-таки).
__________________
Помогаю за Спасибо
Ответить с цитированием
  #9  
Старый 26.11.2011, 13:03
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

Рад что так много людей откликнулись=) ну лично я рассуждаю так:
сначало 1 играет со 2, потом 1 с 3, потом 1 с 4, потом 5 с 6, 5 с 7 и т.д.
30 / 4(1выграет и 3вылетает) = получаем 7 и остаток, тоесть сначало 7 выграли семь, и 21 проиграли, и 2 вообще не учавствовали, тоесть остается в конкурсе 7 победителей и 2 не учавствовали, и потом эти двое выигрывают по 3 раза, тоесть 7+2=9 победителей, поправьте если я не прав...
Ответить с цитированием
  #10  
Старый 26.11.2011, 14:05
Аватар для Bluz
Bluz Bluz вне форума
Прохожий
 
Регистрация: 13.11.2011
Сообщения: 7
Репутация: 10
По умолчанию

Наверное, все-таки так, ибо за одну победу не награждают первым местом, а необходимо 3 победы.
Т.е. 6 победителей


Хотя не)) Все правильно, 7 победителей, просто у кого-то будет 4 победы вместо 3х) Потому что тот кому не хватило соперников, будет брать в качестве соперников уже победителей.
__________________
Прошлое забыто, будущее скрыто, настоящее даровано(с) Одна мудрая Черепаха

Последний раз редактировалось Bluz, 26.11.2011 в 14:13.
Ответить с цитированием
  #11  
Старый 26.11.2011, 14:15
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Цитата:
Сообщение от Kingcss
Рад что так много людей откликнулись=) ну лично я рассуждаю так:
сначало 1 играет со 2, потом 1 с 3, потом 1 с 4, потом 5 с 6, 5 с 7 и т.д.
30 / 4(1выграет и 3вылетает) = получаем 7 и остаток, тоесть сначало 7 выграли семь, и 21 проиграли, и 2 вообще не учавствовали, тоесть остается в конкурсе 7 победителей и 2 не учавствовали, и потом эти двое выигрывают по 3 раза, тоесть 7+2=9 победителей, поправьте если я не прав...
С кем эти двое будут играть? В условии не сказано что победители продолжают играть, а сказано что проигравшие выбывают. Значит или этим двоим просто не повезло, или каждый из них должен сыграть с тем кто уже выиграл и если один из них победит троих уже победивших то по условию они должны будут вылететь. А это значит или будет 3 - но мы уже знаем что такого быть не может или 6 если они сыграют между собой а потом еще с двумя уже выигравшими. Это задача скорее называется додумай условие.

А вам что ответ не говорили?
Ответить с цитированием
  #12  
Старый 26.11.2011, 16:52
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Я насчитал 9. Первый выносит троих, каждый следующий живой - предыдущего победителя и еще двоих. В сумме получается 9 победителей.
Ну и еще есть одна прога с двумя победами. Ей остается только самоубийство.
Цитата:
Программа, потерпевшая поражение, прекращает свою работу. Каждой программе которая сумела выбить из борьбы трех конкурентов, присваивалось звание победителя конкурса
То есть статус программы, потерпевшей поражение, не меняется. Следовательно, если она была победителем, то померев она им все равно остается.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 26.11.2011 в 16:58.
Ответить с цитированием
  #13  
Старый 26.11.2011, 22:04
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

Рассуждал как bargest, посудите сами, учавствуете вы в соревнованиях по боксу, выграл бой за 3 место, далее идет бой за второе, и ты его проигрываешь, третье то место никто не отнимет
Ответить с цитированием
  #14  
Старый 26.11.2011, 22:23
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Наивные какие подсчёты 4, 7, 9, графики, рисунки - ещё тотализатор осталось устроить. Согласен с M.A.D.M.A.N., останется в итоге только один.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #15  
Старый 26.11.2011, 23:48
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Цитата:
Сообщение от Kingcss
Рассуждал как bargest, посудите сами, учавствуете вы в соревнованиях по боксу, выграл бой за 3 место, далее идет бой за второе, и ты его проигрываешь, третье то место никто не отнимет
Пускай даже так, но все равно 9 выйдет только если оставшиеся два не сыграют между собой, в противном случае 8.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter