Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2013, 08:02   #1
badname47
Пользователь
 
Регистрация: 03.12.2011
Сообщений: 19
По умолчанию Олимпиадная задача Pascal - файлы.

Доброго времени суток!
Не могли бы вы мне помочь?

Юный математике Матвей интересуется теорией вероятностей, и по этой причине у него всегда есть с собой несколько стандартных шестигранных игральных кубиков. Стандартный шестигранный кубик имеет три противолежащих пары граней, которые размечены таким образом, что напротив грани с числом 1 находится грань с числом 6, напротив грани с числом 2 - грань с числом 5 и напротив грани с числом 3 - грань 6 числом 4.

Анализируя различные игры с шестигранными кубиками, Матвей придумал новую игру. В эту игру играют два игрока, и проходит она следующим образом: первый игрок бросает один или несколько стандартных кубиков (количество кубиков он определяет сам). После этого первому игроку начисляется количество очков, равное сумме чисел, оказавшихся на верхних гранях этих кубиков. Побеждает тот, кто набрал больше очков.

Например, если был брошен один кубик, и на верхней его грани выпало число два, то первый игрок получает два очка, а второй - пять. В свою очередь, если было брошено два кубика и на их верхних гранях выпало по единице, то первый игрок получает также два очка, а второй игрок двенадцать очков, так как на нижних гранях этих кубиков оказались шестерки.

Матвей рассказал об этой игре своему другу, юному информатику Фоме, и они начали играть в неё через интернет. Поскольку Фома не видит результата броска и не знает, сколько кубиков бросает Матвей как первый игрок, то о набранных каждым игроком очках он узнает только от Матвея. Чтобы проверить достоверность этой информации, Фома решил узнать, какое минимальное и максимальное количество очков мог получить он, как второй игрок, если известно, сколько очков набрал Матвей.

Требуется написать программу, которая по количеству очков, набранных первым игроком после броска, определяет наименьшее и наибольшее количество очков, которые может получить второй игрок за этот бросок.


Формат входного файла:
Первая строка входного файла содержит одно целое положительное число n - количество очков, которые получил первый игрок (1 меньше или равно n меньше или равно 10^10).

Формат выходного файла:
Выходной файл должен содержать два разделенных пробелом целых числа: минимальное и максимальное количество очков соответственно, которые мог набрать второй игрок при таком броске кубиков.

Примеры:
1) dices.in
2
dices.out
5 12
2) dices.in
36
dices.out
6 216

Последний раз редактировалось badname47; 21.01.2013 в 08:31.
badname47 вне форума Ответить с цитированием
Старый 21.01.2013, 09:11   #2
by Fredijkeeeeeee
Новичок
Джуниор
 
Регистрация: 21.01.2013
Сообщений: 1
По умолчанию

Код:
var n,a,b,c,max,min: integer;
begin
read(n);
max:=n*6;
a:=n div 6;
b:=a;
a:=a*6;
a:=n-a;
If a<>0 then begin

If a=1 then a:=6
else
If a=2 then a:=5
else
If a=3 then a:=4
else
If a=4 then a:=3
else
If a=5 then a:=2
else
If a=6 then a:=1;
end
else a:=b;
min:=a;
write(min,' ',max);
end.
Привет ЯМАЛу. Потом стольник отдашь ахахаха
by Fredijkeeeeeee вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Олимпиадная задача "Золото племени АББА" на Pascal (№7 с acmp.ru) Ghost3 Помощь студентам 19 17.01.2013 21:04
Олимпиадная задача "Карточки" (Pascal) rustkill Помощь студентам 1 01.05.2012 17:40
Олимпиадная задача Sanek_ntsk Помощь студентам 4 09.11.2011 23:03
Олимпиадная задача Saidoz Паскаль, Turbo Pascal, PascalABC.NET 7 28.10.2011 13:02
Олимпиадная задача Alexey_kor Помощь студентам 7 30.01.2011 02:22