對不起,我不擅長數學 但是有沒有一個數學公式可以代替下面的代碼,即計算給定qid,點和因子沒有循環的點?如何將for循環計算轉換爲數學公式?
for (int i = 1; i < qid; i++)
{
points = points * factor;
}
如何可以轉換上述代碼成數學公式比可以在一個單一的線路被計算,而不循環 感謝。
對不起,我不擅長數學 但是有沒有一個數學公式可以代替下面的代碼,即計算給定qid,點和因子沒有循環的點?如何將for循環計算轉換爲數學公式?
for (int i = 1; i < qid; i++)
{
points = points * factor;
}
如何可以轉換上述代碼成數學公式比可以在一個單一的線路被計算,而不循環 感謝。
假設points
被初始化爲1
,它等同放着清單points = factor^(qid-1)
,或一般情況下:points_after = points_before * factor^(qid-1)
循環重複qid - 1
倍[i
獲取值:1,2,...,qid-1
,爲價值i==qid
你不這樣做多],和在每次迭代中,你每次都多points
通過factor
,所以你多它通過共factor^(qid-1)
你怎麼解決這個問題?你用筆和紙跟蹤測試值的循環,並嘗試測試幾個方程或什麼? – Tamer 2012-03-12 18:09:19
@Tamer:不需要,循環重複'qid-1'次,因爲它從1到'qid' [不包括'qid'],並且每次迭代增加1,因此你得到'points = points * factor * factor * ... * factor' ['qid-1' times],它的定義是'points * factor ^(qid-1)' – amit 2012-03-12 18:12:46
我想了解如何獨立完成,像我應該學習什麼課程才能做到這一點:) – Tamer 2012-03-12 18:15:07
基本上你的代碼是代表「點=點*因素qid - 1「。您如何在代碼中表達這一點取決於語言/平臺。例如,您可以使用Java代碼:
points *= Math.pow(factor, qid - 1);
正確的答案將也取決於類型的points
和factor
,這兩者都不你告訴我們......
(也有可能你的意思是從0開始而不是1,在這種情況下,從上面的代碼中刪除- 1
...)
什麼語言/平臺? – 2012-03-12 17:53:40
你的計算積分值對於無限數是相同的。循環..你ü尋找相同的..? – Teja 2012-03-12 17:54:58
上面的代碼是在java – Tamer 2012-03-12 18:00:17