Regina Schaukrug: <input type="mathematik">

Beitrag lesen

problematische Seite

Du willst wahrscheinlich sowas:

ValueErrechnet = 10^(V/2)-1

Der Input liefert 0 bis 9.

V : ValueErrechnet
--------------------
0	: 0
1	: 2,16227766016838
2	: 9
3	: 30,6227766016838
4	: 99
5	: 315,227766016838
6	: 999
7	: 3161,27766016838
9	: 31621,7766016838

Spiele in der Formel mit der 10 und der 2 für Deine konkrete Anwendung...

Andere Lösung, mit Sprüngen an den Grenzen der 10er-Potenzen:

  • Multipliziere Werte unter 11 mit 1
  • Multipliziere Werte unter 101 mit 10
  • Multipliziere Werte unter 1001 mit 100
for( i = 1; i < 7; i++ ) {
    if ( V < 10 ^ i + 1 )  {
       return V * 10 ^ ( i - 1 );
    }
}

Du kannst statt der 10er Potenzen auch 2 oder sonstwas nehmen.