# Math# Combinatorics# Formula

a044 - 空間切割

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算 n 個平面在三維空間中最多能將空間分割成多少個區域。輸入為多個正整數 n,直到輸入結束 (EOF)。對於每個 n,輸出分割成的區域數。

解題思路

本題為數學問題,空間切割的區域數有一個直接的公式。n 個平面切割空間最多能分割成 (nnn + 5*n + 6) / 6 個區域。程式碼直接套用此公式計算並輸出結果。

複雜度分析

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

程式碼

#include <iostream>

using namespace std;

int main (){
	
	long long int a=0;
	while(cin >> a){
		cout << (a*a*a+5*a+6)/6 << endl; 
	}
}

Discussion