利用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语言特性,swift语法介绍,swift使用技巧
Swift语言特性.Swift语法介绍.Swift使用技巧 Swift是一种由苹果公司开发的编程语言,于2014年首次发布.它是一种现代.快速.安全的编程语言,用于iOS.macOS.watchOS和 ...
- Swift语言难度大吗?适不适合零基础学习?
如今人们使用的各式各样的智能手机系统都是不一样的,比如iphone系统就是有Swift语言编写而成的,我们可以在Swift语法当中看到Objective-C.JavaScript.C#.Python等 ...
- Swift 语言概览 -自己在Xcode6 动手写1
Swift 语言概览 -自己在Xcode6 动手写1 原文:Swift 语言概览 -自己在Xcode6 动手写1 Swift是什么? Swift是苹果于WWDC 2014发布的编程语言,这里引用The ...
- c语言写自动填写表单提交,利用C语言实现POST数据包如此简单【模拟网页提交表单】...
http://www.maben.com.cn/archives/212.html 利用C语言实现POST数据包如此简单[模拟网页提交表单] //*************************** ...
- Swift 语言的设计错误
在『编程的智慧』一文中,我分析和肯定了 Swift 语言的 optional type 设计,但这并不等于 Swift 语言的整体设计是完美没有问题的.其实 Swift 1.0 刚出来的时候,我就发现 ...
- Swift 语言指南-Issue 46
Swift 语言指南-Issue 46 本期特别推荐 1. 项目:30DaysofSwift(相比 100 Days of Swift,一样的赏心悦目),Tactile(让手势识别如虎添翼),fold ...
- Swift语言官方文档翻译(3)-The Basics
The Basics Swift是为IOS和OS应用开发所创建的新语言.虽然定义为新语言,但Swift与这两个语言有很多相似的地方. Swift语言将C和OC语言中的基本原理封装成了自己的版本,包括将 ...
- [共享]iOS开发系列--Swift语言
2019独角兽企业重金招聘Python工程师标准>>> iOS开发系列--Swift语言 概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服 ...
- C++应用程序性能优化(三)——C++语言特性性能分析
C++应用程序性能优化(三)--C++语言特性性能分析 一.C++语言特性性能分析简介 通常大多数开发人员认为,汇编语言和C语言比较适合编写对性能要求非常高的程序,C++语言主要适用于编写复杂度非常高 ...
最新文章
- python发挥_充分发挥 Python 的威力:用最简单的方法打造互联互通的智能产品
- 如何给英特尔致命一击——高通公布10纳米ARM服务器芯片
- Akka编写一个RPC框架,模拟多个Worker连接Master的情况的案例
- 装 linux后 win7消失了,win7系统重装后ubuntu启动消失不见的解决方法
- 【每日一题】8月4日题目精讲—购物
- JavaScript实现四则运算
- Python中如何读取xml的数据
- 给刚博士毕业的年轻学者9点建议,最后一条:抓紧结婚,生娃!
- js生成随机不重复数字的几种方法
- 用ikvm 来把java类库转换成_net类库,IKVM.NET
- 下面以Button组件为例,开始FLEX皮肤制作的入门。
- 算法岗面试整理 | 腾讯、字节、美团、阿里
- Datalogic得利捷发布IMPACT 2D机器人引导URCap插件
- Linux 抓包还不会?这篇文章赶紧收藏
- 火车头采集的文件发布到服务器上,火车头采集器图片采集上传设置
- 微信小程序下拉加载更多 带后台 解决加载的内容 是新加载的view中最后一个view
- CSS 1px边框问题两个解决方案
- 人心惶惶:利用新西兰特大枪击案进行网络钓鱼攻击的前因后果
- 【狂神说】 mysql 自学总结 4~6章
- 如何解决下载链接在微信中无法打开的问题的?