求救,迷糊了,有关数学公式,和计算器算次方的问题

觉得好丢脸啊~早知道以前好好学数学的。。。今天既然要到这里来求教~~{:5_145:} 各位轻拍~

想知道一个有关递增的问题,我举个简单的例子,

假设这个数字第一年是100,然后每年按10%递增,求第6年后这个数字是多少?

如果我用最笨的方法就是 100+100x10%=110 然后110+110x10%=121依次类推,那么6年后这个数字是161.051

如果我用公式算就是 100x(1+10%)^(6-1)=110^5没错吧???用计算器算也就是110xy5或者110^5没错吧???

那为什么得出来的是1.61051??小数点往前跑了两位啊???

我试着假设了其他的数字,计算器算出来的为什么小数点又往后跑了两位,我着实不明白。。。

{:5_134:}

还有

如果就算我用笨方法算出来第6年是161.051但是如果要知道这5年的总和,公式又是什么呢? 总不能一直用笨方法吧!如果问题问我第10年的总和那还不算死我啊!在科学计算器上又是哪些符号来算的呢?

最后

如果已知 n年后这个数字是161.051,要求年数,怎么求?公式是什么?计算器又要按哪几个键?

小女子虚心求教,谢过各位大侠~

乱打滚求教!!!

怎么没有人呢~~~~难道都出去碓雪人了喵?

用计算器算也就是110xy5或者110^5没错吧???这部分是错的,100*1.1^5而不是110。

去看看计算机算出来的答案是不是有x10^2? 如果有,那就对啦~

正解: 100 * 1.1 ^ 5 = 100 * (1.1 ^ 5) = 100 * 1.61051 = 161.051

let rec get_i_list i l =
if i < 0 then
raise (Invalid_argument “i”)
else
match l with
|[] → raise Not_found
| hd::l →
match i with
|0 → hd
|_ → get_i_list (i-1) l;;

let reasonable_date date =
let year, month, day = date in
if year < 1 || month < 1 || month > 12 || day > 31 then
false
else
let max_day m y =
match m with
|2 → if y / 400 = 0 || (y / 4 = 0 && y / 100 <> 0) then 29 else 28
|_ →
let day_list = [31; 28(no use, place holder for feb); 31; 30; 31; 30; 31; 31; 30; 31; 30; 31] in
get_i_list (m-1) day_list
in
if day <= max_day month year then
true
else
false;;

如果就算我用笨方法算出来第6年是161.051但是如果要知道这5年的总和,公式又是什么呢? 总不能一直用笨方法吧!如果问题问我第10年的总和那还不算死我啊!在科学计算器上又是哪些符号来算的呢?

总和包括第一年的 100 么? 假设包括第一年的 100:

Sum = 100 + 100 * 1.1 + 100 * 1.1 ^ 2 + … + 100 * 1.1 ^ 5
= 100 * (1 + 1.1 + 1.1 ^ 2 + … + 1.1 ^ 5)
= 100 * (1.1 ^ 6 - 1) / (1.1 - 1)
= 100 * 0.771561 / 0.1
= 771.561

如果已知 n年后这个数字是161.051,要求年数,怎么求?公式是什么?计算器又要按哪几个键?

Years = (ln (161.051 / 100)) / (ln (1.1)) = 5

计算器按键: ^ 我猜应该是 x 右上角有个 y, ln 在计算器上应该就是 ln.

你直接 google “100 * (1.1 ^ 6 - 1) / (1.1 - 1)” 和 “(ln (161.051 / 100)) / (ln (1.1))” 都能直接出结果的, 用不着计算器

Haha, ML! : )

指数运算的优先级当然比乘法运算的优先级要高了,所以6楼正解

100
1001.1=110
110
1.1=121
1211.1=133.1
133.1
1.1=146.41
146.41*1.1=161.051

每一项都是前一项的1.1倍,这个就是等比数列。去谷歌/百度/维基“等比数列”就知道一切了。

等比数列的通项公式是a_n=a1q^(n-1),所以a6=1001.1^(6-1)=161.051。

楼主的问题就是等比数列的求和公式,因为公比是1.1,所以前n项和(S_n):S_n=(a1-a1*q^n)/(1-q)。

前5项和就是:(100-1001.1^5)/(1-1.1)=100(1.61051-1)/0.1=100*6.1051=610.51。

前10项和就是:(100-1001.1^10)/(1-1.1)=100(2.5937424601-1)/0.1=100*15.937242601=1593.7242601。

已知第n项为161.051,求n,就是:
100*1.1^(n-1)=161.051
1.1^(n-1)=1.61051
n=log1.1(1.61051)+1

要在计算器上计算这个对数,那么:
n=lg(1.61051)/lg(1.1)+1
=0.20696342579112520375099985621512/0.041392685158225040750199971243024+1
=5+1
=6

PS:内事问百度,外事问谷歌,学事去维基,温饱去天涯。:cn08:

ML你都知道阿,看来是高手

谢谢解开我这个错,终于知道哪里错了{:5_137:}

谢谢,我还在慢慢研究当中,这样好像比较明白。

{:5_142:} 什么都不问,苹果最神! 哈哈哈

同学啊,还记得先乘除后加减吧?这里也是这样啊,先算指数,再算乘法⋯⋯

高手不敢, just a programmer

你是用什么ML?

ML is not a very good name tbh … my evilness :cn08:

Used to use Ocaml, although was a bit interested in F# as well …

Why did you learn OCaml?

People say it is the hardcore.