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
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
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ả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:"]]]]
2from 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:"]]]]
4from 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:"]]]]
5from 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:"]]]]
7from 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:"]]]]
8from 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:"]]]]
0Is
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]
3def 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]
5def 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]
6def 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]
7from 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:"]]]]
3from 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:"]]]]
3print[len[cf[6,12]]]
>> output 4
0def 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]
6def 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]
7from 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:"]]]]
3from 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
7print[len[cf[6,12]]]
>> output 4
8def 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]
0from 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:"]]]]
3from 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!