圖形可以分成兩個部分(上下、左右)
先看左
n個圈恰好n個區
因為左右,再扣除共同部分
所以總共2n - 1區
再來是上下
n = 3 時 有1區
n = 4時 有3區
n = 5時 有6區 (畫畫看就知道了)
...
n = n時 有(1/2)n^2 - (3/2)n + 1 (高階差)
因為上下
所以共有 n^2 - 3n + 2
上下左右相加
共n^2 - n + 1
再加外面
共 n^2 - n + 2 = n(n-1) + 2
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin >> n)
cout << n*(n-1)+2 << endl;
return 0;
}
全站熱搜
留言列表