多边形内角和

GitHub跳转原题关系图返回列表

从 (n-2)*180 的内角和中减去已知 n-1 个角。

OJ: noi_openjudge

题目 ID: ch0105-08

难度:入门

标签:数学python

日期: 2026-07-30 23:01

题意

已知 nn 边形的 n1n-1 个内角,求最后一个内角。

思路

多边形内角和是 (n2)×180(n-2)\times180。从总和中减去所有已知角度之和,剩下的就是未知角。

代码

Python代码

python
sides = int(input())
known_angles = map(int, input().split())
print((sides - 2) * 180 - sum(known_angles))

C++代码

cpp
#include <cstdio>

int main(){
    int n;
    int sum = 0;
    int i;
    int a=0,b=0,c=0;
    int t1,t2,t3;
    scanf("%d",&n);
    for (i=1;i<n;i++){
        scanf("%d",&t1);
        a += t1;
    }
    b = (n-2)*180;
    printf("%d\n",b-a);
    return 0;
}

复杂度

时间复杂度为 O(n)O(n),额外空间复杂度为 O(1)O(1)

总结

已知整体和与部分和时,未知部分直接等于“整体减已知部分”。