D1. Календар
Кирил Познайков e феномен в следния смисъл:
той може много бързо, наум, да пресмята какъв ден от седмицата е дадена дата между 1
януари 1980г. и 31 декември 2099г.
За да се засече неговият рекорд и да
влезе той в книгата на „Гинес”, трябва да се извърши прецизно засичане на
количеството дати, които може да разгадае Кирчо за 1 минута. Тъй като няма друг
човек, който да смята като г-н Познайков, то е необходимо да се напише програма
CALENDAR.EXE, която да помага на журито.
От стандартния вход
програмата ще получава 1 ред с 3 числа, разделени с интервали – D M Y. Както е ясно D е деня от месеца (от 1 до 31), M е месеца в годината (от 1
до 12) и Y е
годината (от 1980 до 2099).
На стандартния
изход програмата
трябва да извежда едно число между 1 и 7, съответстващо на деня от седмицата, в
който е зададената дата, като :
1 – понеделник
2 – вторник
3 – сряда
4 – четвъртък
5 – петък
6 – събота
7 – неделя
Помощ:За справка 1 януари 1980г. е било
вторник.
Пример:
Вход:
24 5 2005
Изход:
2
D2. Игра
Представете си, че сте се
събралиK приятели (2
<= К <= 10) и сте решили да поиграете следната игра:
Слагате N ( 5 <= N <=
1000)купчинки
от камъчета на земята, съдържащи съответно m1, m2, …..mN камъчета. След това започвате
играта по предварително определен ред (всички К играча се редуват да правят
своя ход). Ходът е следния – играчът избира една купчинка, в която има поне 2
останали камъка и я разделя на 2 нови купчинки, всяка с произволен брой (поне
1) камъчета. Играта се печели от този, който направи последния ход в нея.
При началния жребий на Вас се пада
да изберете кой по ред да играете. Точно в този момент Ви хрумва нещо и
отскачате до вкъщи под предлог, че трябва да обядвате J
Въпросът е можете ли да напишете
програма GAME.EXE, която по зададените брой приятели и купчинки от камъчета,
вместо вас да определя кой по ред трябва да започнете играта, за да сте
сигурен, че ще победите.
Входните данни се четат от стандартния
вход и са в следния формат:
На първи ред стоят 2 числа – К
и N, съответно
брой играчи и брой купчинки.
На следващите N реда имаме по едно число между
1 и 1000, което указва колко точно камъчета има в поредната купчинка.
Вашата програма трябва на стандартния
изход да изведе едно единствено число между 1 и К – това е поредния
номер, под който трябва да започнете играта, за да сте сигурен, че ще
спечелите.
Пример:
Вход:
2 5
2
8
2
1
10
Изход:
2
D3. Монополи
Фирма за детски игри решила да пусне
на пазара опростен вариант на играта „Монополи” за по малки деца. За целта
производителите искали в играта да има банкноти само с една стойност.
Ако са известни всички суми, които
се налага да се плащат в играта (цени, глоби, премии и т.н.), от Вас се иска да
помогнете, написвайки програма MONOPOLY.EXE, намираща най-високата
стойност, която могат да имат банкнотите, използвани в играта, така че да може
да се изплаща всяка от зададените суми с цяло число банкноти.
На стандартния вход се въвеждат следните
данни:
-
на 1-ви ред стои числото N – броя на различните суми, които се
налага да се изплащат в играта. (2 <= N <= 100)
-
На следващите N реда са зададени самите суми като
числа между 2 и 1000.
На стандартния изход се извежда едно
единствено число – намерената стойност на банкнотата.
Пример:
Вход:
3
12
6
21
Изход:
3