AW: Welche Sprache für Anfänger?
Du kannst natürlich mit kleinen X anfangen, immer größer werden und abbrechen, wenn Seite 2 größer wird als Seite 1. Dann liegt die Gleichheit zwischen dem letzten und vorletzten Schritt. Das wäre wohl die Variante, die am wenigsten Code braucht.
Du könntest natürlich auch zwei Kilometerwerte nehmen, bei denen ein Mal Auto A und ein Mal Auto B mehr kostet. Dann guckst du, ob der Wert in der Mitte für Auto A oder B günstiger ist und schachtelst so immer weiter ein. Das ist von der Laufzeit deutlich besser, benötigt aber drei Mal so viel Speicher. (Bei der Menge ist das natürlich vollkommen egal…) Der Vorgang wäre dann so:
A=0, B=100; A=50, B=100; A=75, B=100; A=87.5, B=100; A=87.5, B=93.75 ; A=90.625, B=93.75; …;genau genug: Abbruch.
Das ist dann für einen Anfänger schon etwas schwieriger zu implementieren, aber lohnt sich wie gesagt von der Laufzeit.
Die Königsdisziplin wäre, den Bereich zwischen geschätztem oberen und unterem Wert in ein Grid aufzuteilen ähnlich wie im ersten Ansatz zu rechnen, nur alle Gridpunkte gleichzeitig zu berechnen. Damit erreicht man dann auf der Grafikkarte in einem Takt schon die Genauigkeit, für die der erste Ansatz hunderte Schritte braucht und der zweite Ansatz immerhin noch einige duzend.
PS: Gleichungen numerisch Lösen ist aber auf jeden Fall schon fortgeschrittene Programmierung. Zumindest, wenn man es ernst nimmt.