Hướng dẫn how do you factor 2 numbers in python? - làm thế nào để bạn tính 2 số trong python?

In số yếu tố phổ biến của a và b.

Đầu vào> 10, 15

Đầu ra> 2

Các yếu tố phổ biến của 10, 15 là 1 và 5

Mã của tôi

def print_factors(x,y):
l = []
for i in range(1, x + 1):
    if x % i == 0:
        l.append(i)
m = []
for i in range(1, y + 1):
    if y % i == 0:
        m.append(i)
print (list(set(l).intersection(m)))
num1 = int(input("Enter a number: ")) #10
num2 = int(input("Enter a number: ")) #15
print_factors(num1,num2)

Có cách nào tốt hơn để tối ưu hóa, như hiểu danh sách. hoặc sử dụng mô -đun zip

Hỏi ngày 16 tháng 8 năm 2019 lúc 12:50Aug 16, 2019 at 12:50

4

Rõ ràng là GCD đã có, vì vậy câu trả lời khác có thể được sửa đổi là

from fractions import gcd
def cf(num1,num2):
    n=[]
    g=gcd(num1, num2)
    for i in range(1, g+1): 
        if g%i==0: 
            n.append(i)
    return n

print(cf(int(input("a:")),int(input("b:"))))

Sau đó, tất nhiên bạn có thể sử dụng "thủ thuật" từ các bài kiểm tra chính và vòng lặp cho đến khi chỉ căn bậc hai của số, vì các ước số có theo cặp:

from fractions import gcd
from math import sqrt
def cf(num1,num2):
    n=[]
    g=gcd(num1, num2)
    for i in range(1, int(sqrt(g))+1):
        if g%i==0:
            n.append(i)
            if g!=i*i:
                n.append(int(g/i))
    return n

print(cf(int(input("a:")),int(input("b:"))))

Đã trả lời ngày 16 tháng 8 năm 2019 lúc 13:21Aug 16, 2019 at 13:21

Hướng dẫn how do you factor 2 numbers in python? - làm thế nào để bạn tính 2 số trong python?

Tevemadartevemadartevemadar

11.6K3 Huy hiệu vàng18 Huy hiệu bạc45 Huy hiệu đồng3 gold badges18 silver badges45 bronze badges

5

Để tìm các yếu tố phổ biến cho hai số, hãy làm

def cf(num1,num2):
    n=[]
    for i in range(1, min(num1, num2)+1): 
        if num1%i==num2%i==0: 
            n.append(i)
    return n

print(cf(6,12))

>> output [1, 2, 3, 6]

Chỉnh sửa: Nếu bạn muốn số lượng yếu tố phổ biến

print(len(cf(6,12)))
>> output 4

Đã trả lời ngày 16 tháng 8 năm 2019 lúc 13:05Aug 16, 2019 at 13:05

Hướng dẫn how do you factor 2 numbers in python? - làm thế nào để bạn tính 2 số trong python?

ShijithshijithShijith

4.1102 Huy hiệu vàng18 Huy hiệu bạc33 Huy hiệu Đồng2 gold badges18 silver badges33 bronze badges

3

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 print_factors(). Giá trị này được gán cho biến X trong print_factors().

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

from fractions import gcd
def cf(num1,num2):
    n=[]
    g=gcd(num1, num2)
    for i in range(1, g+1): 
        if g%i==0: 
            n.append(i)
    return n

print(cf(int(input("a:")),int(input("b:"))))
1 để 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.

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đưa ra hai số nguyên, nhiệm vụ là tìm số lượng của tất cả các ước số chung của các số đã cho?

    Đầu vào: A = 12, B = 24Output: 6Explanation: Tất cả các ước số chung là 1, 2, 3, 4, 6 và 12input: A = 3, B = 17Output: 36Output: 3Explanation: Tất cả các ước số chung là 1, 2, 4 : a = 12, b = 24
    Output: 6
    Explanation: all common divisors are 1, 2, 3, 4, 6 and 12
    Input : a = 3, b = 17
    Output: 1
    Explanation: all common divisors are 1
    Input : a = 20, b = 36
    Output: 3
    Explanation: all common divisors are 1, 2, 4

    Python

    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    2
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    4

    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    5
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    7

    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    8
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    from fractions import gcd
    from math import sqrt
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, int(sqrt(g))+1):
            if g%i==0:
                n.append(i)
                if g!=i*i:
                    n.append(int(g/i))
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    0

    Is

    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    3
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    4
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    5
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    6
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    7
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    print(len(cf(6,12)))
    >> output 4
    
    0
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    6
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    7
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3__

    print(len(cf(6,12)))
    >> output 4
    
    7
    print(len(cf(6,12)))
    >> output 4
    
    8
    def cf(num1,num2):
        n=[]
        for i in range(1, min(num1, num2)+1): 
            if num1%i==num2%i==0: 
                n.append(i)
        return n
    
    print(cf(6,12))
    
    >> output [1, 2, 3, 6]
    
    
    0
    from fractions import gcd
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, g+1): 
            if g%i==0: 
                n.append(i)
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    3
    from fractions import gcd
    from math import sqrt
    def cf(num1,num2):
        n=[]
        g=gcd(num1, num2)
        for i in range(1, int(sqrt(g))+1):
            if g%i==0:
                n.append(i)
                if g!=i*i:
                    n.append(int(g/i))
        return n
    
    print(cf(int(input("a:")),int(input("b:"))))
    
    6

    # 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)
    
    2
    # 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)
    
    3

    Độ phức tạp về thời gian: O (Min (A, B)), trong đó A và B là số đã cho.AUXILEITY: O (1) O(min(a, b)), Where a and b is the given number.
    Auxiliary Space: O(1)

    Vui lòng tham khảo bài viết đầy đủ về các ước số chung của hai số để biết thêm chi tiết!

    Làm thế nào để bạn tìm thấy các yếu tố của hai số trong Python?

    Phương pháp tìm các ước số chung của hai số..
    Lưu trữ hai số trong biến 'num1' và 'num2' ..
    Tuyên bố một biến nói rằng 'i' và khởi tạo nó với 1 ..
    Kiểm tra tính phân chia của cả hai số bằng 'I' ..
    Nếu cả hai số đều chia hết, hãy hiển thị ước số chung, tức là 'I' ..
    Tăng giá trị của 'i' bởi 1 ..

    Làm thế nào để tôi tính đến hai số?

    Để tìm ra yếu tố chung lớn nhất (GCF) giữa các số, hãy lấy mỗi số và viết yếu tố chính của nó. Sau đó, hãy xác định các yếu tố phổ biến cho từng số và nhân các yếu tố phổ biến đó lại với nhau.take each number and write it's prime factorization. Then, identify the factors common to each number and multiply those common factors together.

    Làm thế nào để bạn thực hiện 2 sức mạnh trong Python?

    Có ba cách để lập trình hành vi đó trong Python.Toán tử nguồn (**) tăng giá trị bên trái lên công suất của giá trị thứ hai.Ví dụ: 2 ** 3.Hàm pow () tích hợp thực hiện điều tương tự: nó đưa ra đối số đầu tiên của nó đối với sức mạnh của đối số thứ hai.The power operator ( ** ) raises the left value to the power of the second value. For example: 2 ** 3 . The built-in pow() function does the same thing: it raises its first argument to the power of its second argument.

    Làm thế nào để bạn làm 2 bình phương trong Python?

    Bạn cũng có thể tìm thấy hình vuông của một số đã cho bằng cách sử dụng toán tử số mũ trong Python.Nó được đại diện bởi "**".Trong khi áp dụng phương pháp này, toán tử số mũ trả về công suất theo cấp số nhân dẫn đến bình phương của số.Lưu ý rằng câu lệnh của A ** B, sẽ được định nghĩa là một A với sức mạnh của Bọ.using the exponent operator in python. It is represented by "**". While applying this method, the exponent operator returns the exponential power resulting in the square of the number. Note that the statement “a**b” will be defined as “a to the power of b”.