Kiểm tra số nguyên tố trong Java | Laptrinhcanban.com

Kiểm tra số nguyên tố trong Java

Hướng dẫn cách kiểm tra số nguyên tố trong Java. Bạn sẽ học được cách tạo phương thức kiểm tra số nguyên tố trong Java cũng như cách liệt kê tất cả các số nguyên tố nhỏ hơn n bằng Java sau bài học này.

Số nguyên tố trong Java là gì

Chúng ta đều biết số nguyên tố là số tự nhiên lớn hơn 1 không phải là tích của hai số tự nhiên nhỏ hơn. Nói cách khác, số nguyên tố là những số chỉ có đúng hai ước số là 1 và chính nó.

Ví dụ, chúng ta xem xét các số 2, 3, 6 như sau:

Số 2 chỉ có đúng hai ước số là 1 và chính nó nên là số nguyên tố
Số 3 chỉ có đúng hai ước số là 1 và chính nó nên là số nguyên tố
Số 6 có 4 ước số là 1, 2 , 3 và 6, do đó nó không phải là số nguyên tố.

Kiểm tra số nguyên tố trong Java

Số nguyên tố là số lớn hơn 1chỉ có đúng hai ước số là 1 và chính nó. Bởi vậy nếu số đã cho có nhiều hơn dù chỉ 1 ước số khác số 1 và chính nó thì nó không phải là số nguyên tố.

Để kiểm tra được điều này, chúng ta chỉ cần kiểm tra trong phạm vi lớn hơn 1 và nhỏ hơn số đã cho có tồn tại ước số nào không, và nếu tồn tại dù chỉ một ước số thì có thể khẳng định số đã cho không phải là số nguyên tố.

Dựa vào điều này mà chúng ta có thể tạo phương thức kiểm tra số nguyên tố trong Java dùng while như sau:

private static int isprime(int n){
//flag = 0 => không phải số nguyên tố
//flag = 1 => số nguyên tố

int flag = 1;

if (n <2) return flag = 0; /*Số nhỏ hơn 2 không phải số nguyên tố => trả về 0*/

/*Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không*/
int i = 2;
while(i <n){
if( n%i==0 ) {
flag = 0;
break; /*Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp*/
}
i++;
}

return flag;
}

Chúng ta có thể gọi phương thức này và sử dụng để viết chương trình Java kiểm tra số nguyên tố như dưới đây. Chương trình này có tác dụng nhập n kiểm tra n có phải số nguyên tố không không Java.

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print("Nhap so nguyen= ");
int n = scanner.nextInt();

int check = isprime(n);

if( check == 1 ) System.out.println((int)n + " la so nguyen to" ) ;
else System.out.println(n+ " khong phai la so nguyen to" ) ;
}
private static int isprime(int n){
//flag = 0 => không phải số nguyên tố
//flag = 1 => số nguyên tố

int flag = 1;

if (n <2) return flag = 0; /*Số nhỏ hơn 2 không phải số nguyên tố => trả về 0*/

/*Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không*/
int i = 2;
while(i <n){
if( n%i==0 ) {
flag = 0;
break; /*Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp*/
}
i++;
}

return flag;
}

}

Màn hình nhập liệu và kết quả chương trình Java kiểm tra số nguyên tố sẽ như sau:

Nhap so tu nhien= 1
1 khong phai la so nguyen to

Nhap so tu nhien= 2
2 la so nguyen to

Nhap so tu nhien= 3
3 la so nguyen to

Nhap so tu nhien= 4
4 khong phai la so nguyen to

Nhap so tu nhien= 5
5 la so nguyen to

Nhap so tu nhien= 6
6 khong phai la so nguyen to

Liệt kê tất cả các số nguyên tố nhỏ hơn n

Sử dụng phương pháp ở trên, chúng ta có thể liệt kê tất cả các số nguyên tố nhỏ hơn n bằng Java.

Và dưới đây là ví dụ về chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n trong Java:

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print("Nhap so nguyen= ");
int n = scanner.nextInt();

int i = 0, check;
while ( i < n){

check = isprime(i);

if( check == 1 ) System.out.print (i +" ");

++i;
}
}
private static int isprime(int n){
//flag = 0 => không phải số nguyên tố
//flag = 1 => số nguyên tố

int flag = 1;

if (n <2) return flag = 0; /*Số nhỏ hơn 2 không phải số nguyên tố => trả về 0*/

/*Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không*/
int i = 2;
while(i <n){
if( n%i==0 ) {
flag = 0;
break; /*Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp*/
}
i++;
}

return flag;
}
}

Kết quả:

>> nhap mot so n: 20
2 3 5 7 11 13 17 19

>> nhap mot so n: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách kiểm tra số nguyên tố trong Java, cũng như cách liệt kê tất cả các số nguyên tố nhỏ hơn n bằng Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.