link : https://www.acmicpc.net/problem/11653
소인수분해 성공
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 인수를 한 줄에 하나씩 증가하는 순서대로 출력한다.
예제 입력 1
72
예제 출력 1
2 2 2 3 3
예제 입력 2
3
예제 출력 2
3
예제 입력 3
6
예제 출력 3
2 3
예제 입력 4
2
예제 출력 4
2
예제 입력 5
9991
예제 출력 5
97 103
소인수분해 문제이다. 그냥 풀었다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> int n; int main(){ scanf("%d",&n); for(int i=2; i*i <= n; i++){ if(n%i==0){ printf("%d\n",i); n /= i; i--; } } if(n>1) printf("%d",n); return 0; } | cs |
'Programming > BOJ Solutions' 카테고리의 다른 글
[백준 1837번] 암호제작 (0) | 2018.08.22 |
---|---|
[백준 1644번] 소수의 연속합 (0) | 2018.08.22 |
[백준 2960번] 에라토스테네스의 체 (0) | 2018.08.22 |
[백준 1735번] 분수 합 (0) | 2018.08.22 |
[백준 1753번] 최단경로 (0) | 2018.08.21 |