Lập trinh java hôm nay sẽ giới thiệu cho các bạn về một bài toán liệt kê các số nguyên tố trong java, yêu cầu của bài toán là bạn nhập vào nguyên nguyên dương n hãy in ra những số nguyên tố nhỏ n, để thực hiện điều này các bạn hãy xem lại bài toán kiểm tra số nguyên tố tại đây, sau đó các bạn sẽ làm được bài toán này, dù đơn giản nó thường gặp ở trong các bài kiểm tra môn ngôn ngữ lập trình java cơ bản.
Có lẻ khi sử dụng chương trình liệt kê số nguyên tố bạn thường phải nghĩ đến thuật toán làm như thế nào và xây dựng ra sao, điều quan trong để một lập trình viên thật tốt bạn phải có tư duy và các suy luận logic, để làm được điều đó bạn phải xây dụng những giải thuyết trong lập trình thật nhiều.
Ví dụ :
Bạn nhập vào n = 19 chương trình sẽ in ra : 1,2,3,5,7,11,13,17Đầu vào của bài toán:
Nhập vào số nguyên dương nĐầu ra :
Những số nguyên tố nhỏ hơn n
Thuật toán liệt kê các số nguyên tố
Bước 1. Viết một hàm kiểm tra số nguyên tốBước 2. Thực hiện vòng lặp in ra những số nguyên tố.
Bước 3. Khai báo hàm main của chương trình.
Hàm kiểm tra số nguyên tố
boolean checkNguyenTo(int n){
if(n<=2){
return true;
}else {
for(int i =2;i<=Math.sqrt(n);i++){
if(n % i == 0)
return false;
}
}
return true;
}
Hàm in ra những số nguyên tố.
void inputNguyenTo(int n){
for(int i = 1 ;i<n;i++){
if(checkNguyenTo(i)){
System.out.print(" " +i);
}
}
}
Khai báo hàm main chính của chương trình.
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
Lietkesonguyento lk = new Lietkesonguyento();
int n =28;
System.out.println("Nhap n = \n");
n = sc.nextInt();
lk.inputNguyenTo(n);
}
import java.util.Scanner;
public class Lietkesonguyento {
boolean checkNguyenTo(int n){
if(n<=2){
return true;
}else {
for(int i =2;i<=Math.sqrt(n);i++){
if(n % i == 0)
return false;
}
}
return true;
}
void inputNguyenTo(int n){
for(int i = 1 ;i<n;i++){
if(checkNguyenTo(i)){
System.out.print(" " +i);
}
}
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
Lietkesonguyento lk = new Lietkesonguyento();
int n =28;
System.out.println("Nhap n = \n");
n = sc.nextInt();
lk.inputNguyenTo(n);
}
}
Chúc các học tốt và thi tốt !.
No comments:
Post a Comment