18/03/2021, 09:37

Bài tập Java - Liệt kê n số nguyên tố đầu tiên trong Java

Bài tập Java - Liệt kê tất cả các số nguyên tố nhỏ hơn n Nội dung chính Bài tập Java - Liệt kê n số nguyên tố đầu tiên trong Java Định nghĩa Ví dụ số nguyên tố Lời giải Bài tập Java - Liệt kê n số nguyên tố đầu tiên trong Java Đề bài : Viết ...

Bài tập Java - Liệt kê tất cả các số nguyên tố nhỏ hơn n

Nội dung chính

  • Bài tập Java - Liệt kê n số nguyên tố đầu tiên trong Java
  • Định nghĩa
  • Ví dụ số nguyên tố
  • Lời giải

Bài tập Java - Liệt kê n số nguyên tố đầu tiên trong Java

Đề bài: Viết chương trình liệt kê n số nguyên tố đầu tiên trong Java. Số nguyên dương n được nhập từ bàn phím.


Định nghĩa

Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.
Ví dụ: 2, 3, 5, 7, 11, 13, 17, … là những số nguyên tố.
Chú ý: Số 0 và 1 không phải là số nguyên tố. Chỉ có số 2 là số nguyên tố chẵn, tất cả các số chẵn khác không phải là số nguyên tố vì chúng chia hết cho 2.

Ví dụ số nguyên tố

Danh sách số nguyên tố nhỏ hơn 100:

Số nguyên tố trong java

Lời giải

File: BaiTap7.java


package vn.viettuts.baitap;

import java.util.Scanner;

/**
 * Chương trình liệt kê n số nguyên tố đầu tiên.
 * 
 * @author viettuts.vn
 */
public class BaiTap7 {
    private static Scanner scanner = new Scanner(System.in);

    /**
     * main
     * 
     * @param args
     */
    public static void main(String[] args) {
        System.out.print("Nhập n = ");
        int n = scanner.nextInt();
        System.out.printf("%d số nguyên tố đầu tiên là: 
", n);
        int dem = 0; // đếm số số nguyên tố
        int i = 2;   // tìm số nguyên tố bắt dầu từ số 2
        while (dem < n) {
            if (isPrimeNumber(i)) {
                System.out.print(i + " ");
                dem++;
            }
            i++;
        }
    }

    /**
     * check so nguyen to
     * 
     * @author viettuts.vn
     * @param n: so nguyen duong
     * @return true la so nguyen so, 
     *         false khong la so nguyen to
     */
    public static boolean isPrimeNumber(int n) {
        // so nguyen n < 2 khong phai la so nguyen to
        if (n < 2) {
            return false;
        }
        // check so nguyen to khi n >= 2
        int squareRoot = (int) Math.sqrt(n);
        for (int i = 2; i <= squareRoot; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }
}

Kết quả:

Nhập n = 10
10 số nguyên tố đầu tiên là: 
2 3 5 7 11 13 17 19 23 29 
Bài tập Java - Liệt kê tất cả các số nguyên tố nhỏ hơn n
0