Hướng dẫn is there a factoring function in python? - có một chức năng bao thanh toán trong python không?

Mã nguồn

# Python Program to find the factors of a number

# This function computes the factor of the argument passed
def print_factors[x]:
   print["The factors of",x,"are:"]
   for i in range[1, x + 1]:
       if x % i == 0:
           print[i]

num = 320

print_factors[num]

Đầu ra

The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320

Lưu ý: Để tìm các yếu tố của một số khác, hãy thay đổi giá trị của

The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320
0. To find the factors of another number, change the value of
The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320
0.

Trong chương trình này, số có hệ số sẽ được tìm thấy được lưu trữ trong ____10, được chuyển đến hàm

The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320
2. Giá trị này được gán cho biến X trong
The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320
2.

Trong hàm, chúng tôi sử dụng vòng

The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320
4 để lặp lại từ i bằng x. Nếu x hoàn toàn chia hết bởi tôi, thì đó là yếu tố của x.

Dưới đây là một ví dụ nếu bạn muốn sử dụng số số nguyên tố để đi nhanh hơn rất nhiều. Những danh sách này rất dễ tìm thấy trên internet. Tôi đã thêm ý kiến ​​trong mã.

# //primes.utm.edu/lists/small/10000.txt
# First 10000 primes

_PRIMES = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 
        31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 
        73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 
        127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 
        179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 
        233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 
        283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 
        353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 
        419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 
        467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 
        547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 
        607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 
        661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 
        739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 
        811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 
        877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 
        947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 
# Mising a lot of primes for the purpose of the example
]


from bisect import bisect_left as _bisect_left
from math import sqrt as _sqrt


def get_factors[n]:
    assert isinstance[n, int], "n must be an integer."
    assert n > 0, "n must be greather than zero."
    limit = pow[_PRIMES[-1], 2]
    assert n 

Bài Viết Liên Quan

Chủ Đề