【題目敘述】https://zerojudge.tw/ShowProblem?problemid=d096
【解題想法】
- 某一列有 N 個奇數數字(1 < N < 1000000000),表示該列的最後一個數字是第 (1 + n) * (1 + n) / 4 個奇數,且其值為 (cnt – 1) * 2 + 1。
- 該列最後3個數字的和為 ((cnt – 1) * 2 + 1) * 3 – 6。
- N 很大,計算時用的變數要宣告成 long long。
#include <iostream>
using namespace std;
int main() {
long long n;
while (cin >> n){
long long cnt = (1 + n) * (1 + n) / 4;
cout << ((cnt - 1) * 2 + 1) * 3 - 6 << "\n";
}
return 0;
}