Nội dung chính
Bài tập Java - Liệt kê tất cả các số nguyên tố nhỏ hơn n
Đề bài: Viết chương trình liệt kê tất cả các số nguyên tố nhỏ hơn 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:
Lời giải
File: BaiTap6.java
package vn.kienthuclaptrinh.baitap; import java.util.Scanner; /** * Chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n. * * @author kienthuclaptrinh.net */ public class BaiTap6 { 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("Tất cả các số nguyên tố nhỏ hơn %d là: \n", n); if (n >= 2) { System.out.print(2); } for (int i = 3; i < n; i+=2) { if (isPrimeNumber(i)) { System.out.print(" " + i); } } } /** * check so nguyen to * * @author kienthuclaptrinh.net * @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 = 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