看板 Python 關於我們 聯絡資訊
第二題修正: 1. 紅色是修改的地方 2. 白色是原來的程式 import sys: #while True: # num = int(input()) for line in sys.stdin num = int(line) if num == 0: break count = 0 while True: if num % 2 == 1: count += 1 num = num // 2 else: print(count) break ※ 引述《kaney (蘇老師)》之銘言: : 各位python前輩們好,第一次在python版發文 : 小弟是剛自學python不久的初學者(之前0相關基礎) : 僅有看了coursera一個specialization 'Python for everybody' : 跟run了一遍codecademy的learn python : 一位朋友說可以先試著做做題目,然後推薦了我高中生程式解題系統 : 我從基礎問題做起,目前有遇到幾個困難,希望不會太打擾大家 : 題目1: https://zerojudge.tw/ShowProblem?problemid=a229 : 我的code: https://ideone.com/ehkyc7 : *腦中第一時刻浮現排列組合,上網找了下可用的方法後寫了這個 : 不過在測資不大時可以跑完,測資數值大的時候直接memory error : 有想過從左開始一步步加括號,然後判定是否合理, : 但是不知道要怎麼實現,例如第一畫左之後,第二畫可以加左也能加右要怎麼判斷 : 題目2: https://zerojudge.tw/ShowProblem?problemid=a414 : 我的code: https://ideone.com/Zpt7cy : *這題送答案後會執行超時然後被中斷,也嘗試過先將測資轉成二進位字串後, : 用re從尾開始找連續1的方式,跑起來也是超時,所以想請教有什麼好的修改方式 : 另外就是小弟基礎薄弱,沒有資料結構/演算法的底子, : 請問有沒有推薦的線上資源或是文件書籍?想補點這方面的知識 : 最後感謝不吝花費時間指點的大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.240.3 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1572437189.A.1B4.html ※ 編輯: cutekid (1.168.240.3 臺灣), 10/30/2019 20:07:24
kaney: 哇,所以原理是一次讀入所有測資嗎? 10/30 20:21
kaney: 這樣我第一題是不是也能這樣做? 我去試試看 10/30 20:22