Hàm tìm ước chung lớn nhất trong c

     

Đề bài xích

Viết chương trình C tìm mong số chung lớn nhất (USCLN) cùng bội số chung nhỏ dại nhất (BSCNN) của nhị số nguyên dương a cùng b.

*



Bạn đang xem: Hàm tìm ước chung lớn nhất trong c

Định nghĩa

USCLN của 2 số nguyên dương a cùng b là một trong những k lớn nhất, sao để cho a và b rất nhiều chia hết mang lại k.

BSCNN của 2 số nguyên dương a với b là một vài h nhỏ nhất, sao để cho h phân tách hết cho cả a và b.

lời giải

Một phương thức đơn giản đề tìm USCLN của a với b là coi ngó từ số nhỏ tuổi hơn trong 2 số a và b cho đến 1, khi gặp số nào đó mà cả a và b mọi chia hết mang đến nó thì đó chính là USCLN của a cùng b. Tuy vậy phương pháp này chưa hẳn là kết quả nhất.

Vào vắt kỷ 3 TCN, bên toán học Euclid (phiên âm giờ đồng hồ Việt là Ơ-clit) đã sáng tạo ra một giải thuật tìm USCLN của nhì số nguyên dương rất tác dụng được hotline là lời giải Euclid. Ví dụ về phát minh của bài toán, trả sử a lớn hơn b, lúc ấy việc tính UCSLN của a với b sẽ được mang đến bài toán tính USCLN của a hack b và b vì chưng USCLN(a, b) = USCLN(a gian lận b, b).

khi đã tìm kiếm được USCLN thì việc tìm kiếm BSCNN của nhị số nguyên dương a cùng b khá solo giản. Lúc đó BSCNN(a, b) = (a * b) / UCSLN(a, b).


kiếm tìm USCLN cùng BSCNN của 2 số a với b vào C

Ví dụ tiếp sau đây sử dụng giải thuật Euclid để giải quyết và xử lý bài toán tìm ước số chung lớn nhất (USCLN) cùng bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a cùng b.


/** * Chuong trinh tim uoc thông thường lon nhat (USCLN) * va boi so bình thường nho nhat (BSCNN) cua 2 so a cùng b * *
author vachngannamlong.com */#include/** * Tim uoc so bình thường lon nhat (USCLN) */int USCLN(int a, int b) if (b == 0) return a; return USCLN(b, a % b);/** * Tim boi so chung nho nhat (BSCNN) */int BSCNN(int a, int b) return (a * b) / USCLN(a, b);/** * mê say main */int main() int a, b; printf("Nhap so nguyen duong a = "); scanf("%d", &a); printf("Nhap so nguyen duong b = "); scanf("%d", &b); // tinh USCLN cua a cùng b printf("USCLN cua %d va %d la: %d", a, b, USCLN(a, b)); // tinh BSCNN cua a và b printf("USCLN cua %d va %d la: %d", a, b, BSCNN(a, b));
Kết quả:


Nhap so nguyen duong a = 3Nhap so nguyen duong b = 4USCLN cua 3 va 4 la: 1USCLN cua 3 va 4 la: 12
Giải phương trình bậc 2 trong C
Liệt kê toàn bộ các số nguyên tố bé dại hơn n
Recent Updates chuẩn bị Tết 2023 Rồi! - Còn từng nào ngày nữa là mang đến tết 2023?LinkedList vào javaArrayList trong javaXử lý duplicate trong SQLPhím tắt hay cần sử dụng trong ExcelBảo mật tập tin ExcelDịch trang tính vào ExcelIn trang tính vào ExcelHàm VLOOKUP vào ExcelĐối tượng hình ảnh trong ExcelSử dụng macro trong ExcelSử dụng Templates trong ExcelSử dụng chủ thể (theme) vào Excel


Xem thêm: 400 Độ F Bằng Bao Nhiêu Độ C Huyển Đổi Độ F Sang Độ C, 400 Độ F Bằng Bao Nhiêu Độ C

vachngannamlong.com on facebook
học tập Lập Trình Online Miễn mức giá - vachngannamlong.com

*

Danh Sách bài học
học tập Java | Hibernate | Spring học tập Excel | Excel VBA học Servlet | JSP | Struts2 học C | C++ | C# học Python học SQL


bài Tập Có giải mã

bài xích tập Java bài bác tập C bài tập C++ bài bác tập C# bài bác tập Python lấy một ví dụ Excel VBA


thắc mắc Phỏng Vấn

201 câu hỏi phỏng vấn java 25 câu hỏi phỏng vấn servlet 75 thắc mắc phỏng vấn jsp 52 câu hỏi phỏng vấn Hibernate 70 câu hỏi phỏng vấn Spring 57 câu hỏi phỏng vấn SQL




Xem thêm: Este Etyl Axetat Có Tan Trong Nước Không Tan Trong Nước? A Hướng Dẫn Làm Bài Tập Etyl Axetat

Scroll back to top