利用Swift语言特性,随手写个伪随机数生成器
生活随笔
收集整理的這篇文章主要介紹了
利用Swift语言特性,随手写个伪随机数生成器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//
// main.swift
// Ultimate
//
// Created by Mewlan Musajan on 2/13/22.
//
// Apple Inc. “The Swift Programming Language (Swift 5.5).” Apple Books. https://books.apple.com/us/book/the-swift-programming-language-swift-5-4/id881256329protocol RandomNumberGenerator {func random() -> Double
}// Linear Congruential Generator
class LinearCongruentialGenerator: RandomNumberGenerator {var lastRandom = 42.0let m = 139968.0let a = 3877.0let c = 29573.0func random() -> Double {lastRandom = ((lastRandom * a + c).truncatingRemainder(dividingBy: m))return lastRandom / m}
}
let generator = LinearCongruentialGenerator()
print("Here's a random number: \(generator.random())")
print("And another one: \(generator.random())")extension Int {func repetitions(task: () -> Void) {for _ in 0..<self {task()}}
}5.repetitions {print(generator.random())
}var randomNumberSet: Set<Int> = []
8.repetitions {randomNumberSet.update(with: Int(generator.random() * 10))
}8.repetitions {if var someNumber = randomNumberSet.popFirst() {if someNumber == 0 {someNumber = 1}print(someNumber, terminator: "")}
}
print()
總結
以上是生活随笔為你收集整理的利用Swift语言特性,随手写个伪随机数生成器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift 位运算练习
- 下一篇: js根据月数计算有效日期_你真的看懂产品