Согласно данным затрат компании вычислите: 1.Насколько нужно снизить транспортные расходы, чтобы они составили 40% от общих расходов компании;
2.Насколько нужно снизить стоимость работ, чтобы она составляла 20% от общих затрат.
стоимость
Работа Транспортировка Сборы Услуги Всего
18529771 35268237 7307753 22264760 83370521
нужно полное решение
def zadanie(s)
numbers = []
s.split(" ").each {|t|
break if t == "2*109"
numbers << t.to_i
}
max = numbers[0] * numbers[4]
for i in 0..numbers.size - 4
for j in i + 4..numbers.size - 1
p [i,j]
m = numbers[i] * numbers[j]
max = m if m % 2 == 1 and m > max
end
end
if max % 2 == 1
return max
else
return "IMPOSSIBLE"
end
end
# Примеры применения
p zadanie("11 12 2 5 7 6 10 2 8 3 2*109 4")
Можно воспользоваться функций Power для возведения в степень 1/3, либо применить известную формулу
Но в обоих случаях используется (явно или скрыто) вычисление логарифма. А мы помним, что логарифм определен только для положительного аргумента.
По заданию нужно найти кубический корень из a+b. И этот корень определен для любого вещественного числа, в отличии от логарифма.
Вспоминаем:
И только теперь можно писать программу.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a,b,c:real; Read(a,b);
c:=a+b;
Writeln(sign(c)*power(abs(c),1/3))
end.
Примеры
14.283 -32.17
-2.61524573390822
13.183 -13.183
0