알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

 

제목과 동일


Think🤔

 

테케 1
입 : 72
출 : 
2
2
2
3
3

입 : 9991
출 : 
97
103

int n
int i = 2;
int og = 
// 값이 1이되면 더이상 소인수 분해 못함
// i값으로 나눴을떄 나머지가 발생하면 다음 i++값으로 나눠봄
// 13이라하면
// 1,13이 나와야하니깐 같은 값이면 1출력한다음 13출력
while(n == 0){ 
	while(n % i != 0){
		if(n / i == 0){
			n = n / i;
			if(og == n){
				System.out.println(1);
				System.out.println(og);
			}else{
				System.out.println(i);
			}
		}	
	}
	i++;
}

Solution✍
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        for (int i = 2; i <= n; i++) {
            while (n % i == 0) { // 나머지가 0이 아닐때까지
				n /= i;
				System.out.println(i);
            }
        }
    }
}

 

Review🤩

 

for문과 while문의 적절한 필요성을 느낌.


 

+ Recent posts