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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 11:36   #1
evgeniyvol
 
Регистрация: 05.12.2011
Сообщений: 7
По умолчанию задача-драконы

Драконы

Известно, что у дракона может быть несколько голов и его сила определяется числом голов. Но как определить силу драконьей стаи, в которой несколько драконов и у каждого из них определенное число голов? Вероятно, вы считаете, что это значение вычисляется как сумма всех голов? Это далеко не так, иначе было бы слишком просто вычислить силу драконьей стаи. Оказывается, что искомое значение равно произведению значений числа голов каждого из драконов. Например, если в стае 3 дракона, у которых 3, 4 и 5 голов соответственно, то сила равна 3*4*5 = 60. Предположим, что нам известно суммарное значение голов драконьей стаи, как нам вычислить максимально возможное значение силы этого логова драконов? решите пожалуйста
Входные данные

В единственной строке входного файла INPUT.TXT записано натуральное число N (0 < N < 100) – количество голов драконьей стаи.
Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести максимально возможное значение силы, которая может быть у стаи драконов из N голов.


Код:
Примеры№        INPUT.TXT            OUTPUT.TXT
1	                      6	                   9
2	                      8	                  18
3	                     13	                  108

Последний раз редактировалось Serge_Bliznykov; 06.12.2011 в 11:47.
evgeniyvol вне форума Ответить с цитированием
Старый 06.12.2011, 12:10   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Код:
Type
  om = array [2..3] of Integer;

Var i,ost,n3,n2,N:integer;
     max, P: Real;
     A : om;

Function power (A : om):real;
var i : Integer;
     x, y: Real;
begin
 x := 1;
 for i := 1 to A [3] do
    x := x * 3;
 y := 1;
 for i := 1 to A [2] do
    y := y * 2;
 power := x * y;
end;

Begin
 Assign (input, 'input.txt');
 Reset (input);
 ReadLn (N);
 A [3] := 0;
 A [2] := 0;
 n3 := N div 3;
 A [3] := n3;
 ost := N - 3 * n3;
 n2 := ost div 2;
 A [2] := n2;
 P := power (A);
 max := P;
 for i := 1 to n3 do
 begin
   Dec (n3);
   A [3] := n3;
   ost := N - n3 * 3;
   n2 := ost div 2;
   A [2] := n2;
   P := power (A);
   if P > max then
      max := P;
 end;

 Assign (output, 'output.txt');
 ReWrite (output);
 Write (max:0:0);
End.
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 06.12.2011, 12:12   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

по-моему так:

http://ideone.com/RoB0d

Zer0, ого
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 06.12.2011, 14:45   #4
evgeniyvol
 
Регистрация: 05.12.2011
Сообщений: 7
По умолчанию

Zer0,спасибо большое!программа работает
evgeniyvol вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51