Salut,
Pour moi, la question 3 demande un peu de réflexion (et de calculs...).
Si on réalise

produit de type 0 et

produit de type 1, alors
- Ça consomme une longueur de

donc on doit avoir

.
- Ça rapporte

qu'on doit maximiser.
Et arrivé à ce point, c'est pas super clair ce qu'on doit faire : programmer ça "directement" ou bien réfléchir pour trouver un algo. de complexité minimale ?
Le plus simple (et le moins efficace) des algo, ça consiste à faire deux boucles imbriquées avec

qui varie de 0 à la partie entière de

et

qui varie de 0 à la partie entière de

puis à regarder si

et, si c'est le cas, à comparer la valeur de

avec le max trouvé pour le moment (avec un max initialisé à 0 au début) pour voir si on vient de trouver mieux que ce max.
Un peu mieux, ça consiste à faire une seule boucle où

varie de 0 à la partie entière de

puis prendre pour

le plus grand entier tel que

, c'est à dire la partie entière de
/a_1)
et terminer comme dans le premier algo.
Et sinon, le "must", c'est de faire une étude générale théorique pour résoudre le truc sans aucune boucle : c'est parfaitement faisable, ça rendra l'algorithme optimum (au niveau complexité), mais... ça va prendre un bon moment de réflexion et dans une épreuve en temps limité, c'est "pas glop".
Bref, je sais pas ce qui est
réellement attendu comme réponse, mais ça risque plutôt d'être celle "sans réfléchir" vu que rien dans l'énoncé ne demande d'avoir un algo. un peu intelligent donc pourquoi pas proposer l'algo. le plus stupide qui soit (qui lui demande zéro secondes de réflexion)