今天完成高中生程式解題系統內APCS的所有第一題部分
A) 2016-0305-1 b964成績指標:https://zerojudge.tw/ShowProblem?problemid=b964
B) 2016-1029-1 c294三角形辨別:https://zerojudge.tw/ShowProblem?problemid=c294
C) 2017-0304-1 c290秘密差:https://zerojudge.tw/ShowProblem?problemid=c290
D) 2017-1018-1 c461邏輯運算子:https://zerojudge.tw/ShowProblem?problemid=c461
E) 2019-0615-1 e286籃球比賽:https://zerojudge.tw/ShowProblem?problemid=e286
F) 2020-0704-1 f579購物車:https://zerojudge.tw/ShowProblem?problemid=f579
G) 2020-1017-1 f312人力分配:https://zerojudge.tw/ShowProblem?problemid=f312
H) 2021-0109-1 f605購買力:https://zerojudge.tw/ShowProblem?problemid=f605
如果用Python寫的話,基本上要學會以下幾件事情應該都能解決第一題,大致上類一下可以分成這些技能,當然也是有其它的可能或是取代方式可以嘗試
- 以k儲存輸入之數字 AFG
k=int(input()) - 運用temp串列儲存輸入的數字 F
temp=int(input()) - 運用temp串列儲存,將輸入的每個字元,一個字元放入一個元素 C
temp=input() - 運用temp串列儲存輸入一行有空格的數字 ABDEFGH
temp=input().split() - 將串列內第n號元素轉數字儲存於k BCDEFH
k=int(temp[n]) - 將串列內所有元素轉數字int;len(temp)取temp串列內的元素量;for迴圈去轉換每個元素 ABFGH
for x in range(len(temp)):temp[x]=int(temp[x]) - 排列串列內的數字 ABGH
temp.sort() - for迴圈,從0開始到k-1為止,共k次 AFGH
for x in range(k): - for迴圈,從0開始算,共算k個值,且每2個跳著算 C
for x in range(0,k,2): - for迴圈反算 G
for x in range(k+1):temp[k-x]: - 迴圈內外計數器,歸零 F
- while迴圈 F
while n<k: - if判斷式判斷大小、and、or判斷 ACDFH
if n==k:
<=、>=、!=、and、or、&、|、^ - if,elif,else判斷式 ABEF
if:
elif:
elif:
else: - print輸出k的內容 CF
print(k) - print輸出文字"abcd" BD
print("abcd") - print輸出k的內容後不換行;空一格不換行 ABEH
print(k,end="")
print(k,end=" ") #輸出最後一個第k項元素還是會有空格,所以如果最後不要空格只能輸出到k-1項 - print輸出temp串列n值 AG
print(temp[n])
基本上會這些技能應該APCS實做的第一題大部分都能處理,甚至於可以處理其他1維陣列的前幾題。
沒有留言:
張貼留言