Cho 2 số nguyên dương n và m .
Biết S = 1.2+2.3+3.4+...+n(n+1) .
Yêu cầu :
Tìm số dư của S chia cho m .
Dữ liệu vào Đọc từ file văn bản Du.inp
Gồm 2 số nguyên dương n và m , mỗi số cách nhau một khoảng trắng ( n,m<10mũ 9)
Dữ liệu ra :
Ghi số nguyên duy nhất theo yêu cầu trong file văn bản Du.out
Biết S = 1.2+2.3+3.4+...+n(n+1) .
Yêu cầu :
Tìm số dư của S chia cho m .
Dữ liệu vào Đọc từ file văn bản Du.inp
Gồm 2 số nguyên dương n và m , mỗi số cách nhau một khoảng trắng ( n,m<10mũ 9)
Dữ liệu ra :
Ghi số nguyên duy nhất theo yêu cầu trong file văn bản Du.out
Quảng cáo
2 câu trả lời 120
Để giải bài toán này, ta cần tính tổng \(S = 1 \times 2 + 2 \times 3 + 3 \times 4 + ... + n \times (n+1)\).
Để tính số dư của \(S\) khi chia cho \(m\), ta có thể sử dụng công thức tổng của dãy số hình học: \(S = \frac{n(n+1)(n+2)}{3}\). Sau đó, ta tính số dư của \(S\) khi chia cho \(m\) bằng cách lấy phần dư của phép chia \(\frac{n(n+1)(n+2)}{3}\) cho \(m\).
Dưới đây là mã Python để giải bài toán này: ```python #
Đọc dữ liệu từ file input with open('Du.inp', 'r') as f: n, m = map(int, f.readline().split()) #
Tính tổng S S = (n * (n + 1) * (n + 2)) // 3 #
Tính số dư của S khi chia cho m du = S % m #
Ghi kết quả vào file output with open('Du.out', 'w') as f: f.write(str(du)) ```
Trong đoạn mã trên, chúng ta đọc dữ liệu từ file input, tính tổng \(S\), sau đó tính số dư của \(S\) khi chia cho \(m\) và ghi kết quả vào file output.
chin
· 2 năm trước
tui chưa chắc là nó đúng á!
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
45411 -
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
34840 -
Đã trả lời bởi chuyên gia
30638 -
Hỏi từ APP VIETJACK28217
-
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
22413
Gửi báo cáo thành công!

