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 này được đăng tại [free tuts .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ả:
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ả:
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 !!!