圖形可以分成兩個部分(上下、左右)

先看左

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;
}

arrow
arrow
    全站熱搜

    大神(偽) 發表在 痞客邦 留言(0) 人氣()