Wednesday, June 12, 2019

Bội số chung nhỏ nhất trong java

Lập trình java xin chào các bạn, hôm nay đang làm một dự án có liên quan đến BSCNN trong java, cũng nói thật là lâu rồi cũng quên nên phải tìm hiểu lại một tý, nên nhân tiện đây mình cũng sẽ chia
sẽ cho mọi người về thuật toán tìm bội số chung nhỏ nhất cũng như code chương trình chạy thực tế, để làm được vấn đề này mình mong các bạn hiểu rõ về BSCNN.

Bội số chung nhỏ nhất trong java

Bội số chung nhỏ nhất là gì?. (BSCNN là gì?)

Bội số chung nhỏ nhất (hay còn gọi tắt là bội chung nhỏ nhất, viết tắt là BCNN, tiếng Anh: least common multiple hoặc lowest common multiple (LCM) hoặc smallest common multiple) của hai số nguyên a và b là số nguyên dương nhỏ nhất chia hết cho cả a và b.[1] Tức là nó có thể chia cho a và b mà không để lại số dư. Nếu a hoặc b là 0, thì không tồn tại số nguyên dương chia hết cho a và b, khi đó quy ước rằng LCM(a, b) là 0.

Thuật toán tìm bội số chung nhỏ nhất.


  • Để tìm được bội số chung nhỏ nhất các bạn nên tìm USCLN 
  • Khi tìm được USCLN các bạn thực hiện (a*b)/USCLN(a,b);

Viết chương trình tìm BSCNN trong java như sau:

Step 1.Viết hàm tìm USCLN (a,b)
int USCLN(int a, int b){
a = Math.abs(a);
b = Math.abs(b);
if(a == 0 || b == 0){
return a+b;
}
while(a != b){
if(a >b){
a = a- b;
}else{
b = b -a;
}
}
return a;
}
Step 2. Viết hàm tìm BSCNN(a,b)
int BSCNN(int a,int b){
return (a*b)/USCLN(a,b);
}
Step 3. Khai báo hàm main.
public static void main(String args[]){
BSCNN bscnn = new BSCNN();
System.out.println("Tim boi s chung nho nhat");
System.out.print("BSCNN(3,4) = " +bscnn.BSCNN(3, 4));
}
Toàn bộ chương trình tìm bscnn java.
public class BSCNN {
int USCLN(int a, int b){
a = Math.abs(a);
b = Math.abs(b);
if(a == 0 || b == 0){
return a+b;
}
while(a != b){
if(a >b){
a = a- b;
}else{
b = b -a;
}
}
return a;
}
int BSCNN(int a,int b){
return (a*b)/USCLN(a,b);
}
public static void main(String args[]){
BSCNN bscnn = new BSCNN();
System.out.println("Tim boi s chung nho nhat");
System.out.print("BSCNN(3,4) = " +bscnn.BSCNN(3, 4));
}
}
Kết quả:
Bội số chung nhỏ nhất trong java


No comments:

Post a Comment