자바 백준 13225번
브론즈 3
https://www.acmicpc.net/problem/13225
문제 보기
분류: 수학, 구현, 브루트포스 알고리즘, 사칙연산
문제 풀기
주어진 테스트 케이스만큼 반목문을 통해 각 숫자를 입력받고 약수의 개수를 구한다.
각각 입력되는 숫자의 크기만큼 for loop 을 돌리면서 주어진 n 을 1 부터 n 까지 나누어 나머지가 0 이 되는 개수를 count 한다. 이때, n / 2 초과의 수에서는 약수가 존재하지 않기 때문에 n / 2 까지만 for loop 을 돌려 약수가 있는지 확인한다.
(참고. 자바 풀이로 n 까지 for loop 을 돌려 찾게 되면 답안이 틀렸다고 나온다. 컴파일 에러는 python 으로 잘못 제출.)
코드 보기
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int c = sc.nextInt();
for (int i = 0; i < c; i++) {
int n = sc.nextInt();
int count = 1; // n 이 자기 자신을 약수로 가질 경우를 초기로 넣고 시작.
for (int j = 1; j <= n / 2; j++) {
if (n % j == 0) {
count += 1;
}
}
System.out.println(n + " " + count);
}
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 14761 - FizzBuzz (0) | 2023.05.05 |
---|---|
[Java] 백준 풀기 17530 - Buffoon (0) | 2023.05.04 |
[Java] 백준 풀기 5300 - Fill the rowboats (0) | 2023.05.02 |
[Java] 백준 풀기 11121 - Communication Channels (0) | 2023.05.01 |
[Java] 백준 풀기 18698 - The Walking Adam (0) | 2023.05.01 |