在數學中,我們可能會對乙個數進行因式分解,如何用python來實現呢?以下是某位大佬寫的演算法,這裡拿過來直接用就可以了。
# 對乙個數進行因式分解
def factorization(num):
factor =
while num > 1:
for i in range(num - 1):
k = i + 2
if num % k == 0:
factor.append(k)
num = int(num / k)
break
return factor
我們呼叫這個函式,並引入time庫進行時間計算
st = time.perf_qzewesvgcounter()
print(factorization(707829217))
et = time.perf_counter()
print("用時:", et - st)
可以看到最後的列印結果為:
[8171, 86627]
用時: 0.0064456
可以看到因式分解還是非常快的,所以在這裡非常感謝這位大佬啦~
最後附上完整版,供大家使用(複製到你的ide中,然後只要修改數字即可)
import time
# 對乙個數進行因式分解
def factorization(num):
factor =
while num > 1:
for i in range(num - 1):
k = i + 2
if num % k == 0:
factor.append(k)
num = int(num / k)
break
retur程式設計客棧n factor
st = time.perf_counter()
print(factorization(707829217))
et = time.perf_counter()
print("用時:", et - st)
執行結果:
[8171, 86www.cppcns.com627]
用時: 0.0399542946306
ps:這裡再為大家推薦幾款計算工具供大家進一步參考借鑑:
**分解質因數計算器工具:
**一元函式(方程)求解計算工具:
科學計算器**使用_高階計算器**計算:
**計算器_標準計算器:
對10個數進行排序
解題思路 可以採用氣泡排序,每次把相鄰的兩個比較大小,然後把大一點兒的資料放在最後面,這樣第一趟下來,最大的那個數就跑到了最後面,下一次排序就不用跟最後乙個數字比較了,然後倒數第二大的數字會在倒數第二.因此可以使用兩個函式,乙個用於控制每一趟比較的元素個數,乙個用於交換 public class m...
python實現對乙個完整url進行分割的方法
python對乙個完整的url進行分割,將url分割成單獨的部分,包括協議 網域名稱 埠 路徑 引數等等 import urlparse print urlparse.urlsplit 結果如下 複製 如下 splitresult scheme http netloc wwwwww.cppcns.c...
乙個數的所有因子 Python
給定乙個自然數 n,求這個自然數的所有因子 包括1 注意 一般認為,因子就是所有可以整除這個自然數的整數,不包括這個數自身。求乙個自然數的所有因子 python 問題分析 從1到n,依次對n取餘,如果這個數是它的因子,則保留。然後對 n,i,更新重新此過程,直到結束 考慮重複新增情況 time 20...