// // ViewController.swift // PrimeCounterDemo // // Created by Chris Adamson on 12/29/17. // Copyright © 2017 Chris Adamson. All rights reserved. // import UIKit class ViewController: UIViewController { @IBOutlet weak var textView: UITextView! override func viewDidLoad() { super.viewDidLoad() let primes = calculatePrimes(to: 1000) print ("primes: \(primes)") var text = "" for (index, prime) in primes.enumerated() { text.append("\(prime)") if index < primes.count-1 { text.append (", ") } } textView.text = text } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func calculatePrimes(to max: Int) -> [Int] { guard max > 0 else { return [] } switch max { case 1: return [] case 2: return [2] default: var primes: [Int] = [2] for candidate in 3...max { var isPrime = true for divisor in 1...(candidate/2)+1 { if candidate.remainderReportingOverflow(dividingBy: divisor) == (0, false) { isPrime = false break } } if isPrime { primes.append(candidate) } } return primes } } }