Использование Ruby, как язык, математику, формула OP является
f = -> x { 2 * x ** 2 + x }
(1) Если предположить, что один шаг алгоритма занимает 1 единицу время, ответ 50
, так как постоянный член c
является
c = 24 - f.(2) #=> 10
# and
c + f.(4) #=> 50
в этом предположении, что ответ 50.
(2) Если, однако, мы даем один шаг алгоритма принимать e
единиц времени вместо 1 единицу времени, то константа c
будет:
24 - e * 10
и время работы для n == 4
будет
24 + e * 26 # gives 50 for e == 1
(3) При дополнительном предположении, что постоянное время равно нуль (то есть, данная формула точной), мы имеем
24 - e * 10 == 0
И ответы на Candide, bcorso и Milky Dinescu применяются.
Несмотря на то, что в вопросе ОП не указано, что 1 шаг == 1 единица времени, я все еще чувствую, что это было намерение автора, также основанное на типичном, легко проверяемом учебнике результата 50
.
Чем больше я думаю об этом, это действительно зависит от того, как долго он принимает при п = 0. – Candide