Làm cách nào để tìm thừa số nguyên tố của một số trong python?
Thừa số nguyên tố của một số bất kỳ là thừa số của một số nguyên tố. Các yếu tố khi nhân lên cho bạn một số khác. Số nguyên tố chia hết cho chính nó hoặc cho 1 Show
Nói cách khác, các thừa số nguyên tố được xác định bằng cách tìm xem các số nguyên tố nào nhân với nhau để tạo thành số ban đầu Thí dụ. Thừa số nguyên tố của 10 là 2 và 5. Điều này là do 2X5 =10 và cả 2,5 đều là số nguyên tố Trong hướng dẫn này, bạn sẽ học
Tìm các yếu tố chính bằng cách sử dụng phép lặpĐể tìm các thừa số nguyên tố của một số đã cho, trước tiên chúng ta lặp lại tất cả các số từ 2 cho đến căn bậc hai của số đó, sau đó kiểm tra xem mỗi số có phải là số nguyên tố không. Miễn là số ban đầu chia hết cho số nguyên tố này, chúng tôi tiếp tục thêm số nguyên tố này với mỗi lần lặp lại Thí dụ Mọi số nguyên tố lớn hơn 40 được viết dưới dạng công thức sau. n2+n+41. Vì vậy, chúng ta có thể thay thế n bằng tất cả các số để tìm thừa số nguyên tố tương ứng. e. g. , 02+0+41=41, 12+1+41=43, 22+2+41=47,… Làm thế nào để in ra thừa số nguyên tố của một số?
thuật toán Set a counter i to 2 While i <= sqrt(n): While n% i == 0: n = n / i print i i = i +1 if n > 1: print n thuật toán sàngPhương pháp sàng phụ thuộc vào việc lưu trữ thừa số nguyên tố nhỏ nhất của các số, giúp giảm đáng kể độ phức tạp khi tính các thừa số nguyên tố cho bất kỳ số nào. Thuật toán sàng tìm tất cả các thừa số nguyên tố có phần hiệu quả
Thí dụ Cách thứ hai là kiểm tra xem số đó có thể viết dưới dạng 6n-1 hoặc 6n+1 hay không vì mọi số nguyên tố khác 2 và 3 đều có thể viết theo một trong hai công thức. e. g. , 5=6(1)-1, 19=6(3)+1,… thuật toán Xác định một mảng mảng để lưu trữ thừa số nguyên tố nhỏ nhất của mỗi số với giá trị chỉ số là giá trị ban đầu cho mọi phần tử của mảng Set array[1] to 1 Set i to 2 While i*i > max number: If array[i] == i: Set j to i*i While j > max number: If array[j] == j: Array[j] = i j = j + i i = i + 1 while the number != 1: print array[the number] the number = the number / array[the number] Các yếu tố chính của Python bằng cách sử dụng phép lặpỞ đây, chúng tôi sẽ hiển thị một đoạn mã bằng ngôn ngữ Python để tìm các thừa số nguyên tố của một số đã cho theo phương pháp lặp import math def PrimeFactors(n): for i in range(2,int(math.sqrt(n))+1,1): while n%i==0:#find all the occurrences of a prime factor print((int)(i)), n=n/i if n!=1:#if the number was originally a prime print((int)(n)) n=(int)(input("Enter the number you want: ")) PrimeFactors(n) đầu ra Enter the number you want: 4 4 Các yếu tố chính của Python sử dụng đệ quyPhần này hiển thị một đoạn mã bằng ngôn ngữ Python sử dụng phương pháp sàng để tìm thừa số nguyên tố của một số cho trước import math High = (int)(1e5+7) array=[0 for i in range(High)] # function to generate all the smallest prime def Sieve(): #factors of the numbers until the maximum number for i in range(1, High): array[i]=i for i in range(2, math.ceil(math.sqrt(High))): if (array[i] == i): for j in range(i*i, High,i): if(array[j]==j): array[j]=i def PrimeFactors(n): #We will keep dividing until we reach 1 if n == 1: return print((int)(array[n])) PrimeFactors((int)(n/array[n])) #Here we call the function after dividing it by this prime Sieve() n=(int)(input("Enter the number you want: ")) PrimeFactors(n) đầu ra Enter the number you want: 4 2 2 Chương trình nhân tố C Prime sử dụng phép lặpĐó là giải pháp tương tự như giải pháp lặp lại python nhưng được viết bằng ngôn ngữ C Ta yêu cầu người dùng nhập số, sau đó với mỗi số từ 2 đến căn bậc hai của số này, ta cần kiểm tra xem nó có chia hết hay không bằng cách in ra tất cả các lần xuất hiện của thừa số này #include đầu ra Enter the number you want: 2 2 Chương trình nhân tố C Prime sử dụng đệ quyĐây là giải pháp tương tự như giải pháp đệ quy python nhưng được viết bằng C Chúng tôi có thể yêu cầu người dùng nhập số; . Cuối cùng, chúng ta gọi hàm đệ quy Thừa số nguyên tố, hàm này chia một số đã cho cho thừa số nguyên tố nhỏ nhất của nó và tự gọi lại cho đến khi đạt đến một Công thức tìm số nguyên tố trong Python là gì?from math import sqrt # Số cần kiểm tra nguyên tố n = 9 flag = 0 if(n > 1). cho k trong phạm vi (2, int (sqrt (n)) + 1). nếu (n% k == 0). cờ = 1 ngắt nếu (cờ == 0). print(n," là một số nguyên tố. ") khác. print(n," không phải là số nguyên tố. ") khác. print(n," không phải là số nguyên tố
Python có chức năng nhân tố không?factor(), chúng ta có thể tìm thừa số của biểu thức toán học ở dạng biến bằng cách sử dụng sympy. phương thức factor() . Trở về. Hệ số trả về của biểu thức toán học. |