[정올] 2809_약수 (JAVA)
업데이트:
문제
한 개의 정수를 입력받아 입력받은 정수의 약수를 모두 출력하는 프로그램을 작성하시오.
입력형식
- 정수 N이 주어진다. (2 ≤ N ≤ 21억)
출력형식
- N의 약수를 작은 수부터 차례로 모두 출력한다.
입출력 예
코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sq = 0;
int[] arr = new int[10000];
int cnt = 0;
sq = (int)Math.sqrt(n);
for (int i = 1; i <= sq; i++)
{
if (n % i == 0)
{
arr[cnt++] = i;
if (n / i != i)
arr[cnt++] = n / i;
}
}
Arrays.sort(arr);
for(int num : arr) {
if(num != 0) System.out.print(num + " ");
}
}
}
댓글남기기