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.