Citat:
Ursprungligen postat av
gholiat
C++. Problemet med det du skickade är att det inte går att vända på talet (så vitt jag vet?) för att få ut åren då man använder upphöjt. T.ex 1.08^10=2.15892.. Det går inte att få ut 1.08 eller 10 ur 2.15892 med något av talen som redan använts.
Sen ska det ju läggas till en summa varje år för den nya räntan så formeln hade inte funkat ändå.
Jag gjorde en snabb uträkning och fick fram
antal_år = (log(slutvärde / startvärde) / log(1 + ränta/100))
Går det inte?
Om det inte går, så gör en for loop och gör break när du vill avsluta.
Kod:
int year;
for(year=0;;year++) {
...
if( sum >= target) {
break;
}
}
Do while kanske är snyggare.
Kod:
int year = 0;
do {
year++;
...
} while(sum < target)