Algorithm/Baekjoon
[백준] (Swift) 11653번 - 소인수분해
감자 🥔
2022. 2. 28. 23:39
반응형
문제 링크
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
내가 푼 풀이
- 2부터 차근차근 나눠주면서 print 해줌
- 범위는 숫자 num까지로 설정했음
- 마지막에 1이 아닌경우 소수로 마무리 지어졌다는 뜻이므로, 마지막 소수도 출력해줌.
- 굳이 정렬은 필요없음. 2부터 시작해서 가장 작은 소수부터 출력되게 됨
import Foundation
var num = Int(readLine()!)!
let n = Int(sqrt(Double(num)))
for i in stride(from: 2, to: num, by: 1) {
while num % i == 0 {
num /= i
print(i)
}
}
if num != 1 {
print(num)
}
반응형