You are on page 1of 9

Bài 07:

Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất
(BSCNN) của hai số nguyên dương a và b nhập từ bàn phím.

Gợi ý:

 Sử dụng giải thuật Euclid.

Code mẫu:

?
1 package vn.viettuts.baitap;

2  

3 import java.util.Scanner;

4  
public class USCLL_BSCNN_1 {
5
    private static Scanner scanner = new Scanner(System.in);
6
    /**
7
     * main

8      *

     * @param args


9
     */
1
    public static void main(String[] args) {
0
        System.out.print("Nhập số nguyên dương a = ");
1
        int a = scanner.nextInt();
1
        System.out.print("Nhập số nguyên dương b = ");
1         int b = scanner.nextInt();
2
        // tính USCLN của a và b

1         System.out.println("USCLN của " + a + " và " + b


3                 + " là: " + USCLN(a, b));

        // tính BSCNN của a và b


1
        System.out.println("BSCNN của " + a + " và " + b
4
                + " là: " + BSCNN(a, b));
1
    }
5
      
1
    /**
6
     * Tìm ước số chung lớn nhất (USCLN)
1
     *
7
     * @param a: số nguyên dương

1      * @param b: số nguyên dương

8      * @return USCLN của a và b

1      */

9     public static int USCLN(int a, int b) {

        if (b == 0) return a;
2
0         return USCLN(b, a % b);

    }
2
1       

    /**
2
     * Tìm bội số chung nhỏ nhất (BSCNN)
2
     *
2
     * @param a: số nguyên dương
3
     * @param b: số nguyên dương

2      * @return BSCNN của a và b

4
2      */

5     public static int BSCNN(int a, int b) {

        return (a * b) / USCLN(a, b);


2
    }
6
}
2
7

2
8

2
9

3
0

3
1

3
2

3
3

3
4

3
5

3
6

3
7

3
8

3
9

4
0

4
1

4
2

4
3

4
4

4
5

4
6

4
7
Kết quả:

Nhập số nguyên dương a = 10


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

Bài 08:

Viết chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n. Số nguyên dương n được
nhập từ bàn phím.

Code mẫu:

?
1 package vn.viettuts.baitap;

2   

3 import java.util.Scanner;

4   

/**
5
 * Chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n.
6
 *

7  * @author viettuts.vn

8  */

public class BaiTap08 {


9
    private static Scanner scanner = new Scanner(System.in);
1
      
0
    /**
1
     * main
1
1      *

2      * @param args

     */
1
    public static void main(String[] args) {
3
        System.out.print("Nhập n = ");
1
        int n = scanner.nextInt();
4
        System.out.printf("Tất cả các số nguyên tố nhỏ hơn %d là: \n", n);
1         if (n >= 2) {
5
            System.out.print(2);

1         }

6         for (int i = 3; i < n; i+=2) {

1             if (isPrimeNumber(i)) {

7                 System.out.print(" " + i);

1             }

8         }

    }
1
9       

    /**
2
     * check so nguyen to
0
     *
2
     * @author viettuts.vn
1
     * @param n: so nguyen duong

2      * @return true la so nguyen so,

2      *         false khong la so nguyen to

2      */
3     public static boolean isPrimeNumber(int n) {

        // so nguyen n < 2 khong phai la so nguyen to


2
        if (n < 2) {
4
            return false;
2
        }
5
        // check so nguyen to khi n >= 2
2
        int squareRoot = (int) Math.sqrt(n);
6
        for (int i = 2; i <= squareRoot; i++) {

2             if (n % i == 0) {
7
                return false;

2             }
8         }

2         return true;

9     }

}
3
0

3
1

3
2

3
3

3
4
3
5

3
6

3
7

3
8

3
9

4
0

4
1

4
2

4
3

4
4

4
5

4
6

4
7

4
8

4
9

5
0

5
1

5
2

5
3

5
4
Kết quả:

Nhập n = 100
Tất cả các số nguyên tố nhỏ hơn 100 là:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83
89 97

You might also like