看板 Python 關於我們 聯絡資訊
作者 icps (虹月) 看板 Python 標題 Re: [問題] 十進位數字轉換成任何進位的數字 時間 Sun Jan 13 12:16:40 2013 ─────────────────────────────────────── 以下按照D大建議試做的 (新手寫的很怪見諒XD) from math import sqrt m=int(raw_input('number1:')) n=int(raw_input('number2:')) if n<m: s=n n=m m=s def is_prime(n): for i in range(2, int(sqrt(n) + 1)): if n%i==0: return False return True def max_prime(m,n): while m<n: if is_prime(n): return n if (n-1)%2==1: return max_prime(m,n-1) n=n-2 return -1 print max_prime(m,n) -- 變更之前 number1:10 number2:99999999 99999989 25.7984983845 <===花的時間 -- 變更之後 number1:10 number2:99999999 99999989 0.00457191913143 <===== 秒殺XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.93.19 ※ 編輯: icps 來自: 118.166.93.19 (01/14 03:07) ※ 編輯: icps 來自: 118.166.93.19 (01/14 03:08) 最小 def is_prime(n): for i in range(2,int(sqrt(n) + 1)): if n % i==0: return False return True def min_prime(m,n): while m<n: if is_prime(m): return m if (m-1)%2==1: return min_prime(m+1,n) m=m+2 return -1 print min_prime(m,n) ※ 編輯: icps 來自: 118.166.93.19 (01/14 13:50)
yuxio:在python, 兩個數的交換可以這麼寫 m,n = n,m 01/14 14:35
LearnRPG:python 有這麼快? 一億筆範圍的資料0.004 秒? 單位是?? 01/14 14:49
mikapauli:一億聽起來就很小... 01/14 14:52
LearnRPG:我單機跑C 光一億次迴圈不做任何事情都要 0.249秒了 orz 01/14 15:44
LearnRPG:可能是我 compiler 太差了吧 .... C耶 ... 01/14 15:45
LearnRPG:也不能說不做任何事情 有i++就是了 ... 01/14 15:45
icps:感謝y大 又學到一個XD 01/14 16:12
icps:這邊是取最大 所以不用跑完 從大的往下減 所以時間才那麼短吧 01/14 16:17
LearnRPG:喔 sorry 我以為是全部列出來 01/14 16:26