본문 바로가기
백준

백준 11653번[c언어] : 소인수분해

by 핫동경 2022. 3. 20.
반응형

https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

 


[풀이]

○ 숫자 n 입력받기

 

○ 처음에 나눌 값 i=2 선언

 

○ n을 i로 나누어보고 나머지가 0이아니라면 i를 1씩 계속 증가시킨다

 

○ n이 증가시킨 i로 나누어 떨어지면 i를 출력하고 n/=i를 해준다

 

○ n의 몫이 결국 1이되면 반복문은 종료된다

#include<stdio.h>

int main() {
	int n;

	int i = 2;
	scanf("%d", &n);
	
	while (1) {
		if (n == 1) {
			break;
		}
		if (n % i == 0) {
			printf("%d\n", i);
			n /= i;
		}
		else
			i += 1;
	}


}
반응형

댓글