Hướng dẫn what is the largest prime factor of the number 600851475143 python? - thừa số nguyên tố lớn nhất của số 600851475143 python là gì?

Mỗi vòng lặp của bạn là từ 2 đến N, vì vậy với 2 vòng, vòng lặp của bạn phải được chạy cho hình vuông [n] lần trước khi đưa ra câu trả lời

Nếu bạn thay đổi vòng lặp của bạn một chút, bạn có thể làm cho nó nhanh hơn nhiều. Để tìm các yếu tố của số N, bạn không phải kiểm tra tất cả các số ít hơn n. Đó là đủ nếu bạn kiểm tra tối đa int [sqrt [n]]. Đối với mỗi yếu tố x giữa 2 và int [sqrt [n]], n/x cũng sẽ là một yếu tố.

Vì vậy, bằng cách thay đổi vòng lặp của bạn để chỉ chạy lên đến int [sqrt [n]], mã của bạn sẽ chạy nhanh hơn nhiều

from math import sqrt 

def is_prime[n]: 
    for a in range[2, int[sqrt[n]]]: 
        if n % a == 0: 
            return False 
    return True 

def prime_factors[x]: 
    my_list = [] 
    for no3 in range[2, int[sqrt[x]]]: 
        if x % no3 == 0: 
            # no3 and x/no3 are factors of x 
            if is_prime[no3]: 
                my_list.append[no3] 
            if is_prime[x/no3]: 
                my_list.append[no3] 
    print[max[my_list]] 

Bây giờ đang thử điều này, chúng tôi nhận được

>>> prime_factors[600851475143]
6857
>>> 


Chào mọi người! Hôm nay chúng ta sẽ xem xét các số nguyên tố. Vì vậy, chính xác là một số nguyên tố là gì? Bất kỳ số nào chỉ chia hết và 1 là số nguyên tố. 3, ví dụ, sẽ là một số nguyên tố. Và 5, 7, 11, 13, v.v. 10. Nhưng tại sao điều này lại quan trọng? Tại sao tôi lại cần một con số chỉ chia hết? Câu trả lời là nó cho phép chúng tôi tạo khóa toán học. Giả sử tôi đã lấy hai số nguyên tố ngẫu nhiên lớn, p1 = 761 và p2 = 829. Nếu tôi nhân các số này với nhau, tôi sẽ nhận được 630869, tuy nhiên, đó không phải là số nguyên tố, tuy nhiên, nếu tôi hỏi bạn thì hãy hỏi bạn Đối với yếu tố chính của số đó [mà bạn không biết P1 và P2, rõ ràng] đó sẽ là một vấn đề rất khó để giải quyết! Và khi các con số trở nên lớn hơn, thời gian cần thiết để giải quyết theo cấp số nhân. Đây là khái niệm đằng sau tiêu chuẩn mã hóa RSA. Bây giờ, vào vấn đề!any number, into its basic prime factors, i.e. 10 = 5 * 2, 5 and 2 both being prime, are the prime factors of 10. But why does this matter? Why would I ever need a number that's only divisible by itself? The answer is that it allows us to create mathematical locks. Suppose I were to take two large random prime numbers, P1 = 761, and P2 = 829. If I multiply these numbers together I get 630869, which is not a prime number in and of itself, HOWEVER, if I were to then ask you for the prime factorization of that number [without you knowing P1 and P2, obviously] that would be a very difficult problem to solve! And as the numbers get larger, the time it takes to solve grows exponentially. This is the concept behind the RSA encryption standard. Now, onto the problem!

& nbsp; Các yếu tố chính của 13195 là 5, 7, 13 và 29. Yếu tố chính lớn nhất của số 600851475143 là gì? & NBSP;

Hãy gọi 600851475143 p. Điều quan trọng nhất cần nhớ trong thời gian này là yếu tố chính lớn nhất sẽ luôn nhỏ hơn căn bậc hai của P. Điều này sẽ giúp chúng tôi tiết kiệm rất nhiều thời gian. Chúng tôi cũng sẽ sử dụng trong khi các vòng lặp trong vấn đề này. Trong khi các vòng lặp sẽ chạy miễn là chúng là sự thật. Hãy xem xét các điều sau: x = 1 trong khi x = 1 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp. The most important thing to remember during this is that the largest prime factor will always be smaller than the square root of p. This is going to save us a lot of time. We're also going to use while loops in this problem. While loops will run so long as they are true.
Consider the following:
x=1
while x=1                            while x

Bài Viết Liên Quan

Chủ Đề