본문 바로가기

프로그래밍/SWIFT

SwiftUI : Primes Numbers

반응형

아주 간단하게 최초 100개의 소수를 구하는 swiftui 프로그램.

최초에 2 이상인 100개의 정수가 화면에 나열됨. 각 숫자 버튼을 누르면, 누른 숫자의 배수들을 제거함. 2부터 하나씩 버튼을 눌르면, 남아있는 숫자들이 소수들.

import SwiftUI

struct ContentView: View {
    
    @State private var primes = Array(2...30000)
    @State private var clicked = Set<Int>()
    
    
    var body: some View {
        VStack {
            ForEach(0..<10, id: \.self) { row in
                HStack {
                    ForEach(0..<10, id: \.self) { col in
                        let n = primes[row * 10 + col]
                        Button("\(n)") {
                            removeKN(n)
                            clicked.insert(n)
                        }
                        .frame(width: 90, height: 30)
                        .foregroundColor(clicked.contains(n) ? .red:.primary)
                    }
                }
                
            }
        }
    }
    
    func removeKN(_ n: Int) {
        primes = primes.filter{ $0 == n || $0%n != 0 }
    }
}

728x90

'프로그래밍 > SWIFT' 카테고리의 다른 글

XCode 프로젝트에 써드파티 패키지 추가하기  (0) 2022.07.14
Swift XMLCoder  (0) 2022.07.14
100DaysOfSwiftUI - Day 24  (0) 2022.07.09
100DaysOfSwiftUI - Day 23  (0) 2022.07.09
100DaysOfSwiftUI  (0) 2022.07.01