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 num
. To find the factors of another number, change the value of num
.
Trong chương trình này, số có hệ số sẽ được tìm thấy được lưu trữ trong num
, được chuyển đến hàm
The factors of 320 are: 1 2 4 5 8 10 16 20 32 40 64 80 160 3201. 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 3201.
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 3203 để 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 M:
break
if M % N == 0: # remainder is zero
factors.add[N]
factors.add[M // N]
print["Factors of {} are {}".format[M, factors]]
Output:
Factors of 120 are {1, 2, 3, 4, 5, 6, 40, 8, 10, 12, 15, 20, 120, 24, 60, 30}
Sự kết luận
Trong bài viết này, chúng tôi đã thảo luận về ba chương trình để tìm các yếu tố của một số trong Python. Để tìm hiểu thêm về các con số trong Python, bạn có thể đọc bài viết này về số thập phân trong Python. Bạn cũng có thể thích bài viết này về các số phức tạp trong Python.
Khuyến nghị đào tạo Python
Khóa học: Python 3 cho người mới bắt đầu
Hơn 15 giờ nội dung video với hướng dẫn hướng dẫn cho người mới bắt đầu. Tìm hiểu làm thế nào để tạo các ứng dụng trong thế giới thực và làm chủ những điều cơ bản.