對於乙個 nn 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。
例如,66 邊形:
輸入只有一行乙個整數 nn,代表邊數。
輸出一行乙個整數代表答案。
輸入 #1複製
3輸出 #1複製
0輸入 #2複製
6輸出 #2複製
15資料規模與約定
#include
int main()
這是乙個數學問題
這個作者已經說的很好了
我們可以發現,兩條不平行對角線才會有乙個交點,同時,兩條對角線又確定了乙個四邊形,也就是確定了4個頂點。如果我們確定了4個頂點的組合方式,我們也就能確定有多少個四邊形,進而確定有多少個對角線交點。用排列組合的計算公式就是
即n*(n-1)(n-2)(n-3)/(4321)
考慮到如果初始n很大時,上面結果會超級大,可以改寫成n(n-1)/2*(n-2)*/3(n-3)/4
那為什麼這樣一定是對的呢?難道不會因為除不盡卻向下取整而導致錯誤嗎?
事實上是一定除得盡的
首先n和n-1一定有乙個是2的倍數,因此2可以除盡,
洛谷P2181 對角線
對於乙個 n 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。例如,6邊形 輸入格式 輸入只有一行乙個整數nn,代表邊數。輸出格式 輸出一行乙個整數代表答案。輸入輸出樣例輸入3 輸出0輸入6 輸出15 分析 由於任何三條對角線不交於同一點,所以2條對角線確定乙個點,...
洛谷題目 P2181 對角線
題目描述 對於乙個 nnn 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。例如,666 邊形 輸入格式 輸入只有一行乙個整數 nnn,代表邊數。輸出格式 輸出一行乙個整數代表答案。輸入輸出樣例 輸入 1 輸出 1 輸入 2 輸出 2 說明 提示 資料規模與約定 對...
洛谷 P2181 對角線 全面分析
對於乙個 n 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。練python刷簡單題刷到了這個,挺有趣的一道題目。對於乙個 n 邊形,選任意乙個點a可以引出 n 3 條對角線。相鄰的點b再引出 n 3 條線,分別與前者有 1,2 n 3 個交點。與b相鄰且不與a相鄰...