mục tiêu
Tìm hiểu cách viết các chương trình đơn giản và cách sử dụng:
Mô tả vấn đề
Viết chương trình nhập vào 2 số nguyên dương a và b. Tìm ra
Mẫu số chung lớn nhất Và Meechiru công cộng A và B.
Ví dụ:
Khuyên nhủ
Định nghĩa
Mẫu số chung lớn nhất Hai số nguyên a và b là số nguyên dương lớn nhất chia hết cho a và b.
Meechiru công cộng Hai số nguyên a và b là số nguyên dương nhỏ nhất chia hết cho cả a và b.
thuật toán
UCLN Bạn có thể tìm hai số bằng cách quy chúng thành thừa số nguyên tố. Nhưng có 1 cách tốt hơn
Thuật toán Euclid
Dựa vào dãy liên tiếp các phép chia có dư.
Ví dụ: Tìm mẫu số chung lớn nhất của 91 và 287.
Lấy nó trước 287 (Nhiều hơn 2 số) Bộ phận
91:
- 287 = 91*3 + 14 (91 & 14 sẽ được sử dụng cho chu kỳ tiếp theo)
Bình luận: Mọi số chia hết cho 287 và 91 thì chia hết cho 287 – 91*3 = 14. Tương tự, bất kỳ số nào chia hết cho 91 và 14 đều chia hết cho 91*3 + 14 = 287. Do đó, USCLN(91,287) = USCLN(91,14). vấn đề trở lại
Để tìm USCLN(91,14). Lặp lại quy trình trên cho đến khi phần còn lại:
91 = 14*6 + 7 (Số 14 & 7 sẽ được sử dụng cho chu kỳ tiếp theo)
14 = 7*2 (không hòa, kết thúc, nhận 7 đưa ra kết luận)
cuối cùng Ta có: 7 = USCLN(7,0) = USCLN(14,7) = USCLN(91,14) = USCLN(287,91).
BCNN a, b được tính dựa vào ƯCLN của hai số đó theo công thức:
Khóa học này được thiết kế để hỗ trợ những người đã quen thuộc và thực hành các vấn đề lập trình cơ bản trong C++ để tìm hiểu thêm.
Kteam Khuyến khích bản thân Phân tích vấn đề > Khắc phục sự cố > Gỡ lỗi Kiểm tra kết quả và sửa lỗi trong quá trình
giải quyết. Sau đó, bạn có thể chỉ định mã nguồn Mẫu để hoàn thành bài tập.
Để được hỗ trợ tốt hơn, bạn có thể đặt câu hỏi Bình luận Ở dưới cùng hoặc phần của bài viết Nghe
& câu trả lời.
Mã nguồn để tham khảo
#include
using namespace std;
// Cho 2 số nguyên dương a và b. Hãy tìm ước chung lớn nhất của 2 số này.
// Input : 2 số a,b
// Output : Ước chung lớn nhất của 2 số a, b
int UCLN(int a, int b)
{
while ( a != b)
{
if (a > b)
a = a - b;
else
b = b - a;
}
return a; // or return b; a = b
}
// Cho 2 số nguyên dương a và b. Hãy tìm bội chung nhỏ nhất của 2 số này
// Input : 2 số a,b
// Output : Bội chung nhỏ nhất
int BCNN(int a, int b)
{
int result = UCLN(a, b);
return a * b / result;
}
int main()
{
int a, b;
cout > a;
cout > b;
int result = UCLN(a, b);
cout ;>
Hoàn thành
Bạn có thể củng cố kiến thức về từ khóa C++ Lập trình C++ cơ bản.
Hoặc học thêm các bài tập trong khóa học Các vấn đề kinh điển trong lập trình
Cảm ơn đã theo dõi bài viết. Xin vui lòng cho ý kiến đóng góp của bạn để làm cho bài viết tốt hơn. đừng quên
“Rèn luyện – Thử thách – Không ngại khó”.
Bàn luận
Nếu bạn gặp bất kỳ khó khăn hay vướng mắc nào trong khóa học, vui lòng đặt câu hỏi ở phần bên dưới hoặc trong phần Hỏi đáp trong thư viện Howkteam. com để được hỗ trợ.