Python實現的對乙個數進行因式分解操作示例

2022-10-04 17:12:16 字數 1236 閱讀 9210

在數學中,我們可能會對乙個數進行因式分解,如何用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...