[HackerRank]Java迴圈2(Java Loops II)


題目描述

這個題目將會測試您對Java迴圈的認知。給定a、b和n,三個變數的值,計算出以下算式的結果。

a+20b,a+20b+21b,......,a+20b+21b+...+2n-1b

原題網址

https://www.hackerrank.com/challenges/java-loops

輸入格式

第一行輸入測試資料的數量t。接下來的t行都有三個整數,分別代表a、b和n的值。

t的範圍在0到500(包含0和500)之間。a大於等於0,b小於等於15,n在0到15(包含0和15)之間。

輸出格式

在每一行印出對應的測試資料之計算結果。

範例輸入

2
0 2 10
5 3 5

範例輸出

2 6 14 30 62 126 254 510 1022 2046
8 14 26 50 98

額外解釋

在第一個測試資料中,a為0,b為2,n為10。所以計算過程如下:

n = 0
a + 20 * 2 = 0 + 1 * 2 = 0 + 2 = 2

n = 1
a + 20 * 2 + 21 * 2 = 2 + 2 * 2 = 2 + 4 = 6

n = 2
a + 20 * 2 + 21 * 2 + 22 * 2 = 6 + 4 * 2 = 6 + 8 = 14

就這樣依此類推。

解題概念

此題的方程式明確,只要利用迴圈將數值代入即可。要控制計次的迴圈,使用for迴圈會比較容易。在每個測試資料中,最終要計算的算式是a+20b+21b+...+2n-1b,先前計算的算式都是最後算式的計算過程中會先計算的部份,因此不需要再花費時間重複計算之前的算式,可以直接計算最後的算式,並在加總過程中,一邊把結果輸出。

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章