作者 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)
推
01/14 14:35, , 1F
01/14 14:35, 1F
→
01/14 14:49, , 2F
01/14 14:49, 2F
推
01/14 14:52, , 3F
01/14 14:52, 3F
→
01/14 15:44, , 4F
01/14 15:44, 4F
→
01/14 15:45, , 5F
01/14 15:45, 5F
→
01/14 15:45, , 6F
01/14 15:45, 6F
→
01/14 16:12, , 7F
01/14 16:12, 7F
→
01/14 16:17, , 8F
01/14 16:17, 8F
→
01/14 16:26, , 9F
01/14 16:26, 9F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 5 篇):
問題
1
5