Tìm ước số lẻ lớn nhất của số nguyên dương

Yêu cầu
– Nhập vào số nguyên dương n (n > 0) từ cửa sổ màn hình console.
– Tìm ước số lẻ lớn nhất của số nguyên dương
Ví dụ: Cho số nguyên dương 100, 25 là ước số lẻ lớn nhất của 100.

Giải thuật
– Dùng vòng lặp do while() để bắt người dùng nhập lại giá trị n nếu nhập giá trị n <= 0
– Dùng vòng lặp for để tìm ước số lẻ lớn nhất của số nguyên dương

Code

package net.vncoding;
import java.util.Scanner;


public class JavaCore {

    public static void main(String[] args) {
        
        int n;
        int max_odd_aliquot = 1;
        Scanner sc;
        do {
            System.out.print("Input n = ");
            sc = new Scanner(System.in);
            n = sc.nextInt();
        }while(n <= 0);
        
        for(int i = 1; i <= n; i++) {
            if(n%i == 0 && i%2 != 0 && max_odd_aliquot < i) {
        	max_odd_aliquot = i;
            }
        }
        System.out.println("Maximum odd aliquot of " + n + ": " + max_odd_aliquot);
        sc.close();
    }
}

Kết quả

Java - Tìm ước số lẻ lớn nhất của số nguyên dương
Java – Tìm ước số lẻ lớn nhất của số nguyên dương

Be the first to comment

Leave a Reply