Bài tập  /  Bài đang cần trả lời

Hãy lập trình giải các bài toán sau:

----- Nội dung dịch tự động từ ảnh -----
Hãy lập trình giải các bài toán sau:
Bài 1. (4,0 điểm)
Để chọn sản phẩm dự thi sáng tạo khoa học kĩ thuật các cấp, trường THC
ABC phát động phong trào thi sáng tạo khoa học kĩ thuật cấp trường. An đam m
lập trình và có ý tưởng viết chương trình giúp học sinh lớp 5 học Toán, chương trìn
có nhiều module trong đó An đang gặp khó trong module giúp học sinh lớp 5 gi
bài toán cộng hai phân số. Em là một lập trình viên giỏi em hãy giúp bạn An và
chương trình cộng hai phân số.
Yêu cầu: Cho trước 2 phân số T1/M1 và T2/M2, in ra các bước thực hiện cộn
hai phân số
Dữ liệu: vào từ file văn bản PS.INP gồm 2 dòng, dòng thủ nhất T1 M1 mỗi s
cách nhau một dấu cách, dòng thứ hai T2 M2 mỗi số cách nhau một dấu cách (vi
TI, M1, T2, M2 là các số nguyên dương)
Kết quả: ghi vào file văn bản PS.OUT gồm 3 dòng, dòng thứ nhất ghi mẫu s
chung, dòng thứ hai nghi kết quả qui đồng mẫu hai phân số theo dụng TI/MI T2M
mỗi phân số cách nhau một dấu cách, dòng thứ 3 ghi kết quả cộng phân số sau kh
đã rút gọn tối giãn
Vi du:
Môn Tin học 1-402 2023 Trang 144
PS.INP PS,OUT
23
56
6
4/6 5/6
3/2
1 Xem trả lời
Hỏi chi tiết
187
0
0
GUNTER OBERDORF ...
24/01/2024 22:00:39
+5đ tặng
def gcd(a, b):
    while(b):
        a, b = b, a % b
    return a

def add_fractions():
    with open('PS.INP', 'r') as f:
        T1, M1 = map(int, f.readline().split())
        T2, M2 = map(int, f.readline().split())

    lcm = M1 * M2 // gcd(M1, M2)

    T1 *= lcm // M1
    T2 *= lcm // M2

    sum_T = T1 + T2
    gcd_sum = gcd(sum_T, lcm)

    with open('PS.OUT', 'w') as f:
        f.write(str(lcm) + '\n')
        f.write(str(T1) + '/' + str(lcm) + ' ' + str(T2) + '/' + str(lcm) + '\n')
        f.write(str(sum_T // gcd_sum) + '/' + str(lcm // gcd_sum) + '\n')

add_fractions()

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×