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
4. 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 3204.
Trong chương trình này, số lượng hệ số sẽ được tìm thấy được lưu trữ trong
The factors of 320 are: 1 2 4 5 8 10 16 20 32 40 64 80 160 3204, được truyền đến hàm
The factors of 320 are: 1 2 4 5 8 10 16 20 32 40 64 80 160 3206. 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 3206.
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 3208 để 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.
Hệ số của bất kỳ số nào là một số toàn bộ chia chính xác số thành một số mà không để lại bất kỳ phần còn lại.
Ví dụ, 3 là yếu tố 9 vì 3 chia 9 đồng đều không còn lại.
Vấn đề
Tạo một chương trình Python để tìm tất cả các yếu tố của một số.
Thuật toán
Bước 1: & NBSP; Lấy một số
Bước 2: Vòng lặp trên mỗi số từ 1 đến số đã cho
Bước 3: Nếu trình lặp vòng lặp chia đều phân chia & nbsp; Số được cung cấp, tức là
The factors of 320 are: 1 2 4 5 8 10 16 20 32 40 64 80 160 3209 in nó.
Chương trình
number = 69
print["The factors of {} are,".format[number]]
for i in range[1,number+1]:
if number % i == 0:
print[i]
Đầu ra
The factors of 69 are,
1
3
23
69
In các yếu tố của một số do người dùng cung cấp
number = int[input["Enter a number "]]
print["The factors of {} are,".format[number]]
for i in range[1,number+1]:
if number % i == 0:
print[i]
Đầu ra
Enter a number 469
The factors of 469 are,
1
7
67
469
In các yếu tố của một số do người dùng cung cấp
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