題解|ZeroJudge c002. 10696 - f91

【題目】c002. 10696 - f91

題解

c002.py
1
2
3
4
5
6
7
8
9
def f91(n):
if n<=100:
return f91(f91(n+11))
else:
return n-10
n=int(input())
while(n!=0):
print("f91(",n,") = ",f91(n),sep="")
n=int(input())

解說

首先我們根據題意,建立一個函數f91,而這個函數要做甚麼呢?
根據題意,如果輸入的數字<=100,那麼f91(n)的return值等於f91(f91(n+11)),所以我們可以寫出

2
3
if n<=100:
return f91(f91(n+11))

第二種case就是>100的情況下,那我們就直接returnn-10
接下來我們就來處理函數以外的部分…

7
while(n!=0):

這是因為題目有提到輸入=0代表結束,所以只要輸入不等於0,我們就要一直做下去。
然後就是輸出,至於print()裡面的sep是甚麼意思,我們曾在這裡提及,在此不再贅述。

結語

以上就是本題題解,本題主要是練習自訂函數。
倘內容有誤或仍有疑問,歡迎在下方留言區留言!