Bé Tôm năm nay mới vào học lớp 1. Trước khi vào năm học mới mẹ mua cho
bé đồ dùng học tập, trong dó có n chiếc bút chì. Vào mỗi buổi sáng trước khi đi học,
Tôm lấy một chiếc bút chì trên bàn cho vào hộp bút để đến trường học. Sau mỗi ngày
học, bé Tôm đã làm hỏng chiếc bút chì đó (do chì bị gãy và gọt nhiều). Mỗi ngày thứ
m (tức là vào các ngày là bội số của m gồm m, 2m, 3m …), vào buổi tối khi Tôm đã đi
ngủ, mẹ đều bí mật để thêm một chiệc bút chì mới lên bàn học cho Tôm.
Hỏi sau bao nhiêu ngày liên tiếp trôi qua thì Tôm sẽ hết bút chì để viết?
Dữ liệu vào: Từ tệp văn bản pencils.inp gồm một dòng chứa hai số nguyên
dương n và m ghi cách nhau bởi một dấu cách (n ≤ 100; 2 ≤ m ≤ 100).
Kết quả: Ghi ra tệp văn bản pencils.out một số nguyên là kết quả của bài toán.
Ví dụ
pencils.inp pencils.out
2 2 3
9 3 13
c++ ạ!
Quảng cáo
2 câu trả lời 257
Giải pháp:
Để giải bài toán này, ta có thể sử dụng thuật toán tìm ước số chung lớn nhất (GCD).
Bước 1: Tính GCD của n và m.
Bước 2: Nếu GCD là 1 thì Tôm sẽ hết bút chì sau n ngày.
Bước 3: Nếu GCD lớn hơn 1 thì Tôm sẽ hết bút chì sau (n / GCD) ngày.
Code C++:
C++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int gcd = __gcd(n, m);
if (gcd == 1) {
cout << n << endl;
} else {
cout << (n / gcd) << endl;
}
return 0;
}
Vui lòng thận trọng khi sử dụng mã. Tìm hiểu thêm
content_copy
Giải thích:
Bước 1: Tính GCD của n và m.
GCD của hai số là số lớn nhất chia hết cho cả hai số đó.
Trong bài toán này, GCD của n và m cho biết số ngày mà mẹ Tôm sẽ cho Tôm thêm bút chì.
Bước 2: Nếu GCD là 1 thì Tôm sẽ hết bút chì sau n ngày.
Nếu GCD là 1 thì ngày nào Tôm cũng sẽ mượn được bút chì của mẹ. Do đó, Tôm sẽ hết bút chì sau n ngày.
Bước 3: Nếu GCD lớn hơn 1 thì Tôm sẽ hết bút chì sau (n / GCD) ngày.
Nếu GCD lớn hơn 1 thì ngày nào Tôm cũng sẽ mượn được bút chì của mẹ, nhưng chỉ vào các ngày là bội số của m. Do đó, Tôm sẽ hết bút chì sau (n / GCD) ngày.
Ví dụ:
Với n = 2 và m = 2 thì GCD = 2. Do đó, Tôm sẽ hết bút chì sau 2 ngày.
Với n = 9 và m = 3 thì GCD = 3. Do đó, Tôm sẽ hết bút chì sau () = 3 ngày.
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
38770 -
Hỏi từ APP VIETJACK28076
