如何将for循环计算转换为数学公式?

时间:2012-03-12 17:51:50

标签: java math for-loop

抱歉,我不擅长数学 但是有没有一个数学公式可以取代下面的代码,即在没有循环的情况下计算给定qid,points和factor的点数?

    for (int i = 1; i < qid; i++) 
    {
       points = points * factor;
    }

如何将上述代码转换为数学公式,而不是在没有循环的单行中计算 谢谢。

4 个答案:

答案 0 :(得分:2)

假设points初始化为1,它等同于points = factor^(qid-1),或者对于一般情况:points_after = points_before * factor^(qid-1)

循环重复qid - 1次[i获取值:1,2,...,qid-1,值i==qid不是多个],并且在每次迭代中获得多个{{1}每次points,所以你将其加总factor

答案 1 :(得分:1)

基本上你的代码代表“points = points * factor qid - 1 ”。如何在代码中表示它取决于语言/平台。例如,您可以使用以下Java代码:

points *= Math.pow(factor, qid - 1);

的正确答案取决于pointsfactor的类型,这两种类型都没有告诉我们......

(也有可能你的意思是在0而不是1开始你的循环,在这种情况下也从上面的代码中删除- 1 ...)

答案 2 :(得分:0)

指数。

points *= power( factor, qid - 1 ) 

应该工作。

答案 3 :(得分:0)

points * = Math.pow(factor,qid);