Home > Java > Bài tập Java > Tìm ước của một số nguyên trong Java

Tìm ước của một số nguyên trong Java

Trong bài viết này chúng ta sẽ tìm hiểu cách tìm tất cả các ước số của một số nguyên trong Java. Để làm được bài toán này ta cần sử dụng vòng lặp for và cấu trúc if else, vì vậy các bạn hãy tìm hiểu nó trước đã nhé.

Mình sẽ thực hiện hai chương trình một chương trình tìm các ước số của một số đã gán sẵn dữ liệu. Chương trình còn lại sẽ tìm ước số của số được nhập từ bàn phím.

1. Ước số là gì?

Trước tiên ta cần tìm hiểu xem ước số là gì đã nhé. Theo như chúng ta đã học ở môn toán cơ sở thì hiểu đơn giản là:

  • Một số b chia hết cho một số a, thì ta gọi a là ước của b và b là bội số của a.
  • Ví dụ: 6 chia hết cho 3, thì 3 được gọi là ước số và 6 được gọi là bội số. Số 6 có các ước số là: 6, 3, 2, 1.

Như vậy để tìm các ước số của một số, ta chỉ cần tìm các số mà nó chia hết là được.

Bài viết được đăng tại freetuts.net

2. Thuật toán tìm ước số trong Java

Trong phần này mình sẽ viết một chương trình tìm các ước số của một số được khởi tạo giá trị sẵn.

Đầu tiên mình sẽ khai báo biến number là số cần tìm các ước số, sau đó khởi tạo giá trị cho nó là 50.

int number = 50;

Tiếp đến sử dụng vòng lặp for lặp từ 1 đến 50 với bước nhảy ++ để tìm các ước số của number. Nếu number % i == 0, tức là number chia hết cho i thì in i ra màn hình.

for(int i = 1; i <= number; i++){
  //nếu number chia hết cho i thì in i ra màn hình
  if(number % i == 0){
    System.out.print(i + "\t");
  }
}

Ví dụ: Mình sẽ viết chương trình hoàn chỉnh để tìm các ước số của number = 50.

class Main {
  public static void main(String[] args) {
    //khai báo biến number = 50
    int number = 50;
    System.out.println("\n\nCác ước số cửa 50 là: ");
    //sử dụng vòng lặp for lặp từ 1 đến number, với bước nhảy ++
    for(int i = 1; i <= number; i++){
      //nếu number chia hết cho i thì in i ra màn hình
      if(number % i == 0){
        System.out.print(i + "\t");
      }
    }

    System.out.println("\n----------------------------------");
    System.out.println("Chương trình này được đăng tại Freetuts.net");
  }
}

Kết quả:

bai6 01 PNG

3. Tìm các ước số của một số trong Java được nhập từ bàn phím

Trong phần này, thay vì khai báo và khởi tạo cho một biến. Mình sẽ sử dụng class Scanner để lấy dữ liệu từ bàn phím sau đó tìm các ước số của nó.

Về cơ bản thì tương tự như ví dụ ở trên, các bạn nhớ khai báo thư viện Scanner nhé: import java.util.Scanner;

Ví dụ: Tìm các ước số của số n được nhập từ bàn phím.

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //sử dụng class Scanner để lấy dữ liệu từ bàn phím
    Scanner sc = new Scanner(System.in);
    //khai báo biến n là số cần tìm ước số
    int n;
    //yêu cầu người dùng nhập vào số cần tìm ước số
    System.out.println("\n\nNhập vào số cần tìm ước số: ");
    n = sc.nextInt();
    System.out.printf("Các ước số của %d là: ",n);
    //sử dụng vòng lặp for lặp từ 1 đến n, với bước nhảy ++
    for(int i = 1; i <= n; i++){
      //nếu number chia hết cho i thì in i ra màn hình
      if(n % i == 0){
        System.out.print(i + "\t");
      }
    }

    System.out.println("\n----------------------------------");
    System.out.println("Chương trình này được đăng tại Freetuts.net");
  }
}

Kết quả:

bai6 02 PNG

Như vậy là chúng ta đã tìm hiểu xong cách tìm các ước số của một số dương trong Java. Các bạn có thể tham khảo các bài tập Java khác tại Bài tập Java, Chúc các bạn thành công !!!

Bình luận đã đóng, nếu có thắc mắc hãy đặt câu hỏi tại hoicode.com để admin trả lời.

-------------------#####-------------------

Các khóa học lập trình Java đang giảm 40%:

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP