되는대로 살자

[C언어 기출문제&풀이] 소인수 분해 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 소인수 분해

malu 2010. 11. 10. 21:08
프로그램 명: pfactor
제한시간: 1 초

수를 곱으로 표현 할 때 , 곱으로 표현된 각 수를 인수라 하고 인수가 소수일 때 이를 소인수라 한다.

20 = 4 * 5
4 , 5 는 20 의 인수이다. 이 중 5 는 소인수 이다.

어떤 수를 소인수의 곱을 나타낼 때 이를 소인수 분해라 한다.

자연수를 입력으로 받아 소인수 분해하는 프로그램을 작성하는 것이 문제이다. 소인수 사이의 곱셈 기호는 생략하고 소인수는 크기순으로 출력한다.

입력

2 이상 100 000 이하의 자연수가 입력으로 주어진다.

출력

입출력 예

입력

5

출력

5

입력

10

출력

2 5

입력

20

출력

2 2 5

입력

8

출력

2 2 2
출처: dovelet

 

소스코드
#include <stdio.h>

int main()
{
 int n,i,j;
 scanf("%d",&n);
 for(i=2;i<=n;i++)
 {
  if(n%i==0)
  {
   n/=i;
   printf("%d ",i);
   i=1;
  }
 }
}