Tìm ucln của một dãy số

Mn cho e xin ý tưởng về cách tìm ucln của 1 dãy số được lấy từ file với ạ

Bạn đã làm được phần nào rồi?

2 Likes

e mới làm dc lấy dữ liệu từ file thôi ạ

Upd code của bạn lên đi

1 Like

code của e đây ạ

mo = open('vao.txt')

dlv = mo.readline().split()

bien_1 = int(max(dlv))

mang = []

for i in dlv:

    for j in range(1, bien_1+1):

        if int(i) % j == 0:

            mang.append(j)

print(bien_1)

print(set(max(mang)))

bạn nên tập tìm kiếm trên google, hàm tính ước chung lớn nhất chỉ cần có 4 dòng code mà thôi, ngay ở link 1
từ hàm đó, bạn có thể mở rộng để tính cho nguyên mảng, bằng công thức
uscln(a,b,c) = uscln(ucsln(a,b), c)

nếu bạn không biết công thức, thì vấn đề không nằm ở code nữa, mà là kiến thức toán và độ siêng học của bạn

6 Likes

dạ e cảm ơn ạ, để e lên tìm thử ạ

1 Like
a = [int(x) for x in input().split()]
b = a[0]
for i in range(1,len(a)):
    b = gcd(b,a[i])
print(b)

đấy bạn

from math import gcd
from functools import reduce

print(reduce(gcd, map(int, input().split())))

:relieved:

7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?