a042: 平面圓形切割
#a042: 平面圓形切割
'''
對任意正整數n,平面上的n 個圓最多可將平面切成幾個區域?
1個圓可以把平面分割成2個部份(圓的內部和外部),2個圓最多可以把平面分割成4個部份,3個圓最多可以把平面分割成8個部份。請問10個圓最多可以把平面分割成多少個部份?(1)1024 (2)512 (3)110 (4)92
公式:
一個圓可以把平面分成兩部分,兩個圓有兩個交點,每多一個交點會多出一個部分。所以此後增加的平面部分數依次是2,4,6,8,……2*(n-1)。
N個圓最多可以把平面分成2+[2+4+6+……+(2n-2)]=n^2-n+2個部分.
n=10
n^2-n+2=10^2-10 +2=92個
輸入說明
輸入若干行直到 EOF 為止。每一行包含一個整數 n
輸出說明
針對每一個 n 輸出切割出的區域數。
範例輸入 #1
3
4
範例輸出 #1
8
14
'''
print('平面上的n 個圓最多可將平面切成幾個區域?')
flag=1
while (flag==1):
try:
a=(input('請輸入任意數字 (0 結束)--->'))
if (a=='0'):
flag=0
print('結束程式')
break
else:
n=int(a)
n=n*n-n+2
print("面上的 {}個圓最多可將平面切成 {} 區域".format(a, n),end='\n')
except:
break
Python 3.7.9 (bundled)
>>> %Run a042.py
平面上的n 個圓最多可將平面切成幾個區域?
請輸入任意數字 (0 結束)--->3
面上的 3個圓最多可將平面切成 8 區域
請輸入任意數字 (0 結束)--->4
面上的 4個圓最多可將平面切成 14 區域
請輸入任意數字 (0 結束)--->10
面上的 10個圓最多可將平面切成 92 區域
請輸入任意數字 (0 結束)--->0
結束程式
>>>
沒有留言:
張貼留言