En utilisant Ruby comme langage mathématique, la formule de l'OP est
f = -> x { 2 * x ** 2 + x }
(1) En supposant qu'une étape de l'algorithme prend 1 unité de temps, la réponse est 50
, car le terme constant c
est
c = 24 - f.( 2 ) #=> 10
# et
c + f.( 4 ) #=> 50
Sous cette hypothèse, la réponse est 50.
(2) Si, cependant, nous permettons à une étape de l'algorithme de prendre e
unités de temps au lieu de 1 unité de temps, alors la constante c
sera :
24 - e * 10
et le temps d'exécution pour n == 4
sera
24 + e * 26 # donne 50 pour e == 1
(3) Avec une hypothèse supplémentaire, que le temps constant est nul (c'est-à-dire, que la formule donnée est exacte), nous avons
24 - e * 10 == 0
Et les réponses de Candide, bcorso et Milky Dinescu s'appliquent.
Bien que la question de l'OP ne déclare pas littéralement qu'une étape == 1 unité de temps, je pense toujours que telle était l'intention de l'auteur, également basée sur le résultat typique et facile à vérifier du manuel de 50
.