SWEA - [d2] 1945 간단한 소인수분해

Esther·2022년 11월 19일
0

SWEA

목록 보기
26/46

숫자 N은 아래와 같다.

N=2a x 3b x 5c x 7d x 11e

N이 주어질 때 a, b, c, d, e 를 출력하라.

[제약 사항]

N은 2 이상 10,000,000 이하이다.

[입력]

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에 N 이 주어진다.

[출력]

출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.

(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)

package prc_d2;

import java.util.Scanner;

public class P1945 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		for (int tc = 1; tc <= T; tc++) {
			int N = sc.nextInt();
			int a = 0;
			int b = 0;
			int c = 0;
			int d = 0;
			int e = 0;

			while (true) {
				if (N % 2 == 0) {
					N = N / 2;
					a++;

				} else if (N % 3 == 0) {
					N = N / 3;
					b++;
				} else if (N % 5 == 0) {
					N = N / 5;
					c++;
				} else if (N % 7 == 0) {
					N = N / 7;
					d++;

				} else if (N % 11 == 0) {
					N = N / 11;
					e++;
				}
				if (N == 1)
					break;
			}
			System.out.println("#" + tc + " " + a + " " + b + " " + c + " " + d + " " + e);

		}
	}

}

0개의 댓글