# Math# Formula# Simple Calculation

a042 - 平面圓形切割

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算平面上 n 個圓最多可以將平面切割成多少個區域。輸入為正整數 n,輸出對應的區域數。

解題思路

本題的解法並非透過演算法,而是直接使用數學公式。平面上 n 個圓最多可將平面切割成 n*n - n + 2 個區域。程式碼直接根據此公式計算並輸出結果。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include <iostream>

using namespace std;

int main (){
	int n;
	while(cin >> n){
		cout << n*n-n+2 << endl;
	}
}

Discussion