Tuesday, June 25, 2019

Viết chương trình liệt kê các số nguyên tố trong java

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.
Viết chương trình liệt kê các số nguyên tố trong java
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);
   }
Toàn bộ code của chương trình.
 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