Tìm Ước Chung Lớn Nhất Java

  -  

bài xích tập Java - Tìm cầu số chung lớn nhất và bội số chung nhỏ dại nhất của 2 số

Đề bài: Viết công tác tìm mong số chung lớn số 1 (USCLN) và bội số chung bé dại nhất (BSCNN) của 2 số nguyên dương a với b nhập tự bàn phím.

*



Bạn đang xem: Tìm ước chung lớn nhất java

Định nghĩa

USCLN của 2 số nguyên dương a và b là một số trong những k khủng nhất, sao để cho a và b những chia hết cho k.

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

lời giải

Một phương pháp đơn giản đề tìm USCLN của a và b là xem xét từ số nhỏ tuổi hơn vào 2 số a với b cho tới 1, khi chạm chán số nào này mà cả a và b hầu như chia hết đến nó thì đó đó là USCLN của a với b. Mặc dù vậy phương thức này không hẳn là tác dụng nhất.

Vào vậy kỷ 3 TCN, bên toán học Euclid (phiên âm giờ Việt là Ơ-clit) đã phát minh sáng tạo ra một giải mã tìm USCLN của nhị số nguyên dương rất công dụng được điện thoại tư vấn là lời giải Euclid. Rõ ràng về phát minh của bài toán, đưa sử a to hơn b, khi đó việc tính UCSLN của a và b sẽ được đưa về bài toán tính USCLN của a hack b với b bởi USCLN(a, b) = USCLN(a mod b, b).

khi đã tìm được USCLN thì việc đào bới tìm kiếm BSCNN của nhì số nguyên dương a và b khá 1-1 giản. Khi ấy BSCNN(a, b) = (a * b) / UCSLN(a, b).


1. Tra cứu USCLN cùng BSCNN của 2 số nguyên dương trong Java bằng giải mã Euclid

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

File: BaiTap5.java


package vn.thuocmaxman.vn.baitap;import java.util.Scanner;/** * chương trình tìm ước số chung lớn nhất (USCLN) * với bội số cung nhỏ tuổi nhất (BSCNN) của 2 số a và b * *
author thuocmaxman.vn */public class BaiTap5 private static Scanner scanner = new Scanner(System.in); /** * main * *
param args */ public static void main(String<> args) System.out.print("Nhập số nguyên dương a = "); int a = scanner.nextInt(); System.out.print("Nhập số nguyên dương b = "); int b = scanner.nextInt(); // tính USCLN của a và b System.out.println("USCLN của " + a + " cùng " + b + " là: " + USCLN(a, b)); // tính BSCNN của a cùng b System.out.println("BSCNN của " + a + " với " + b + " là: " + BSCNN(a, b)); /** * Tìm mong số chung lớn nhất (USCLN) * *
param a: số nguyên dương *
param b: số nguyên dương *
return USCLN của a với b */ public static int USCLN(int a, int b) if (b == 0) return a; return USCLN(b, a % b); /** * tìm bội số chung nhỏ tuổi nhất (BSCNN) * *
param a: số nguyên dương *
param b: số nguyên dương *
return BSCNN của a với b */ public static int BSCNN(int a, int b) return (a * b) / USCLN(a, b);
Kết quả:


Nhập số nguyên dương a = 15Nhập số nguyên dương b = 40USCLN của 15 và 40 là: 5BSCNN của 15 và 40 là: 120

2. Tìm kiếm USCLN cùng BSCNN của 2 số nguyên dương vào Java bằng cách khác


package vn.thuocmaxman.vn.baitap;import java.util.Scanner;/** * công tác tìm mong số chung lớn số 1 (USCLN) * với bội số cung nhỏ dại nhất (BSCNN) của 2 số a cùng b * *
author thuocmaxman.vn */public class BaiTap5_2 private static Scanner scanner = new Scanner(System.in); /** * main * *
param args */ public static void main(String<> args) System.out.print("Nhập số nguyên dương a = "); int a = scanner.nextInt(); System.out.print("Nhập số nguyên dương b = "); int b = scanner.nextInt(); // tính USCLN của a và b System.out.println("USCLN của " + a + " với " + b + " là: " + USCLN(a, b)); // tính BSCNN của a và b System.out.println("BSCNN của " + a + " cùng " + b + " là: " + BSCNN(a, b)); /** * Tìm cầu số chung lớn số 1 (USCLN) * *
param a: số nguyên dương *
param b: số nguyên dương *


Xem thêm: Nghe Bài Mang Tiền Về Cho Mẹ ', Lời Bài Hát Mang Tiền Về Cho Mẹ

return USCLN của a cùng b */ public static int USCLN(int a, int b) int temp1 = a; int temp2 = b; while (temp1 != temp2) if (temp1 > temp2) temp1 -= temp2; else temp2 -= temp1; int uscln = temp1; return uscln; /** * kiếm tìm bội số chung nhỏ tuổi nhất (BSCNN) * *
param a: số nguyên dương *
param b: số nguyên dương *
return BSCNN của a và b */ public static int BSCNN(int a, int b) return (a * b) / USCLN(a, b);
Kết quả:


Nhập số nguyên dương a = 15Nhập số nguyên dương b = 20Ước số chung lớn số 1 của 15 và trăng tròn là: 5Bội số chung nhỏ dại nhất của 15 và 20 là: 60
Giải thích buổi giao lưu của chương trình trên: Trong chương trình này, tôi nhập vào nhì số 15 và 20 thì trình biên dịch sẽ tiến hành hàm uscln() với quá trình như sau:

Gán giá chỉ trị biến chuyển temp1 = 15 và temp2 = 20. đánh giá điều kiện bên trong while: vị 15 != đôi mươi nên sẽ xúc tiến lệnh bên trong while. Bây giờ 15 quay lại bước 3, kiểm tra điều kiện bên trong while: vì chưng 15 != 5 yêu cầu sẽ xúc tiến lệnh phía bên trong while. Hôm nay 15 > 5 yêu cầu lệnh phía bên trong if sẽ tiến hành thực thi và hôm nay biến temp1 = 10. trở về bước 3, đánh giá điều kiện bên phía trong while: do 10 != 5 nên sẽ thực hiện lệnh bên phía trong while. Lúc này 10 > 5 đề xuất lệnh phía bên trong if sẽ tiến hành thực thi và từ bây giờ biến temp1 = 5. trở về bước 3, đánh giá điều kiện bên trong while: vì 5 == 5 nên sẽ không còn thực thi lệnh phía bên trong while. Vòng lặp kết thúc, trả về giá trị uscln = 5.
hàng số Fibonacci trong java
Liệt kê toàn bộ các số nguyên tố nhỏ tuổi hơn n
Recent Updates áp dụng Javascript vào HTMLToán tử vết 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda vào java 8Bài tập Java - bố trí nhanh (Quick Sort) trong JavaBài tập Java - sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - thu xếp nổi bọt (Bubble Sort) vào JavaBài tập quản lý sinh viên vào JavaHashSet trong javaHashMap trong javaLớp WindowAdapter vào Java SwingLớp MouseMotionAdapter trong Java SwingLớp MouseAdapter vào Java Swing
thuocmaxman.vn on facebook
học tập Lập Trình Online Miễn tổn phí - thuocmaxman.vn
Danh sách bài học kinh nghiệm

học java học servlet học jsp học Hibernate học tập Struts2 học tập Spring học tập SQL


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 thắc mắc phỏng vấn Hibernate 70 câu hỏi phỏng vấn Spring 57 thắc mắc phỏng vấn SQL


About thuocmaxman.vn

khối hệ thống bài học trên thuocmaxman.vn bao gồm các bài định hướng và thực hành về các technology java và technology web. Các bài kim chỉ nan trên hệ thống thuocmaxman.vn được tham khảo và tổng phù hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …




Xem thêm: Hà T Ập 1 - Lớp Học Bồ Câu Hoạt Hình Chế L Nguồn Nhật Mrx

Scroll back to vị trí cao nhất