随机数

作者: ios小菜 | 来源:发表于2019-03-28 16:27 被阅读0次

问:给定能随机生成整数 1 到 5 的函数,写出能随机生成整数 1 到 13 的函数。

// [产生1,5]的随机值,且相等
- (NSInteger)rand5 {
    NSInteger num = rand()%5+1;
    return num;
}

- (NSInteger)rand13 {
    int i = [self rand5] - 1;// 0到[4]
    int j =  [self rand5] - 1; //[0到[4]]
    int num = i *7+j; //[0...32],
    if (num >25) {
        return [self rand13];
    } else {
        return num %13+1;
    }
}

讲解:因为0到25取余得到的1到13的概率是相等的,后面的[26...32],是[1...13]的区间的一半,所以概率也是相等的

相关文章

  • 密码学基础之伪随机数

    随机数分类 真随机数 伪随机数2.1 强伪随机数2.2 弱伪随机数 真随机数:其定义为随机样本不可重现。实际上只要...

  • 在以太坊生成随机数的几种方式(含代码)

    一、什么是随机数 随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真...

  • 无处不在的随机数

    目录: 什么是随机数 随机数分类 伪随机数生成器 真随机数生成器 各种语言中的随机数 使用系统时间作为种子是否安全...

  • Python Random库的使用

    random库用于生成随机数 基本随机数函数: seed(), random() 扩展随机数函数: randint...

  • Unity3D利用随机数种子每次产生同样的随机数

    一般计算机的随机数都是伪随机数,以一个真随机数(随机数种子)作为初始条件,然后用一定的算法不停迭代产生随机数。Un...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • Python笔记:Numpy常用方法-2

    Numpy随机函数 # 指定随机数种子,相同的随机数种子,生成相同的随机数 np.random.seed(10) ...

  • 喵神swifter学习笔记

    1、随机数 不需要随机数种子 arc4random()%N + begin:产生begin~begin+N的随机数...

  • 概率简要学习记录

    随机数问题 构造均匀的随机数发生器 要等概率才可以丢掉 不均匀的随机数产生器 采样问题 水库采样利用数组和随机数取...

  • JS生成随机数

    min到max的随机数 0到max的随机数

网友评论

      本文标题:随机数

      本文链接:https://www.haomeiwen.com/subject/wlqcbqtx.html