Where who wants to meet someone
백준 Swift [9506] 약수들의 합 본문
728x90
난이도
브론즈 I
문제
https://www.acmicpc.net/problem/9506
내 답안
// -1을 EndSign으로 보고 while문 진행
while true {
let input = Int(readLine()!)!
// 입력값이 -1이라면 종료
if input == -1 { break }
// 1은 모든 수의 약수이기 때문에 sum과 text에 미리 추가
var sum = 1
var text = "\(input) = 1"
// 1을 제외하고 2부터 input보다 작은 수까지 for문 진행
for i in 2..<input {
// i가 input의 약수라면 sum에 더해주고, text 뒤편에 추가해준다
if input % i == 0 {
sum += i
text += " + \(i)"
}
}
// sum이 input과 같다면 완전수이기 때문에 text를 출력하고, 아니라면 후자의 문구를 출력한다.
sum == input ? print(text) : print("\(input) is NOT perfect.")
}
'백준 알고리즘 문제 기록 > 약수, 배수와 소수' 카테고리의 다른 글
백준 Swift [11653] 소인수분해 (0) | 2023.07.01 |
---|---|
백준 Swift [2581] 소수 (0) | 2023.07.01 |
백준 Swift [1978] 소수 찾기 (0) | 2023.07.01 |
백준 Swift [2501] 약수 구하기 (0) | 2023.07.01 |
백준 Swift [5086] 배수와 약수 (0) | 2023.07.01 |