【算法】生成n个互异随机数的初步算法
- 自己脑洞的随机数生成算法,且称之为苏氏算法(Su's Algorithm)吧。o(*≧▽≦)ツ
- 给定一个随机数生成范围,在O(n^2logn)的时间复杂度中输出n个互不相同的随机数并按照升(降)序排列。
- 下方代码的作用是:输入随机数生成范围begin~end,输出100个互异的随机数。
- 比方说输入1和100,那么输出的就是1一直到100的每个数。
- 代码经过扩展后应该可以用于(本人猜想)随机音乐播放,游戏阵容随机选取友方单位。
#include<iostream>
#include<ctime>
#include<algorithm>
using namespace std;
#define MAXSIZE 100
int main()
{int begin, end;//Range from 'begin' to 'end'int i;int temp[MAXSIZE] = { 0 };//Initialize the arraycout << "Input begin & end:(end-begin>=99)" << endl << ">>:";cin >> begin >> end;for (i = 0; i != MAXSIZE; i++)temp[i] = rand() % (end - begin + 1) + begin;/*label:sort(temp, temp + MAXSIZE);for(i = 1; i != MAXSIZE; i++) {if(temp[i] == temp[i - 1]) {temp[i] = rand() % (end - begin + 1) + begin;sort(temp, temp + MAXSIZE);goto label;}}//These can be used to alter the following for(…) instructions*/for (i = 1; i != MAXSIZE; i++) {sort(temp, temp + MAXSIZE);while (temp[i] == temp[i - 1]) {temp[i] = rand() % (end - begin + 1) + begin;sort(temp, temp + MAXSIZE);i = 1;}}for (i = 0; i != MAXSIZE; i++)cout << temp[i] << endl;return 0;
}
【算法】生成n个互异随机数的初步算法相关推荐
- java求数组中满足给定和的数对,【加试题】数组a中有50个互异的整数,已按升序排列。给定一个正整数key,寻找数组a中是否有一对数的和等于给定的数key,算法如下:...
(1) 实现上述功能的VB程序如下,请在画线处填入合适代码. Dim a(1 To 50)As Integer Const n As Integer=50 Private sub form_load( ...
- 算法:关于生成抽样随机数的这些算法
概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而且本文要说明的这些算法也是基于这个random库函数的. 本文主要是 ...
- 随机抽样java_java生成抽样随机数的多种算法
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而 ...
- 在多个指定区间内生成随机数,且随机数总和固定算法
在多个指定区间内生成随机数,且随机数总和固定算法 一.介绍 最近项目上遇到了一个需求就是在多个指定区间内生成总和恒定的随机数. 示例:在[1-3].[4-20].[24-100]区间上分别生成一个随机 ...
- VB通过洗牌算法生成随机数ID
Visual Basis开发语言通过洗牌算法生成UUID. 1.在Visual Studio中创建一个桌面应用程序用于代码的测试,点击"洗牌算法"按钮式触发算法运算,并将运算结果回 ...
- bash的RANDOM变量生成的是真正的随机数吗
static void seedrand () {struct timeval tv;gettimeofday (&tv, NULL);sbrand (tv.tv_sec ^ tv.tv_us ...
- Prim算法生成迷宫
初始化地图 function initMaze(r,c){let row = new Array(2 * r + 1)for(let i = 0; i < row.length; i++){le ...
- python从random生成列表_详解Python利用random生成一个列表内的随机数
详解Python利用random生成一个列表内的随机数 首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range ...
- python雪花算法生成id_理解分布式id生成算法SnowFlake
分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种. 概述 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 1位,不用.二进制中最高位 ...
- N 个互异数的数组的平均逆序数
N 个互异数的数组的平均逆序数为 N(N−1)/4N(N-1)/4 1. 简单证明 对于任意的数的表 LL(5,8,9,6,4),以及其反序表 LrL_r(4,6,9,8,5),它们各自的逆序数分别为 ...
最新文章
- Core Text 学习笔记-基础
- 业务需求、客户需求与功能需求
- 计算机的硬件发展趋势为,高性能计算机的发展趋势
- 谈谈html5存储之IndexdDB
- 漫画:这份程序员自画像,是不是你的?
- Android仿人人客户端(v5.7.1)——项目框架新做的调整描述(项目中基类java源码)...
- 第七次全国人口普查,数据来了!
- 麻省理工18年春软件构造课程阅读06“规格说明”
- 高斯积分(概率积分)以及它与伽马函数之间的关系
- 写给大佬看的STP算法详细配置实验过程
- html+css基础教程之html简介和元素
- Arduino 学习思考与记录
- 成都物韵电子商务有限公司推广网店需要注意什么?
- cocos creator国际化i18n多语言工具cc-i18n
- vba 添加outlook 签名_ExcelVBA调用Outlook对象
- 淘宝图片上传,拍立淘接口
- java 进程跑飞_RK3288 st7703 mipi屏指令过长,程序跑飞
- Windows Docker阿里云镜像加速器
- html网页设计作品初级,《HTML网页设计技术》教案.doc
- SunTorque分享-扭矩、力矩、转矩有什么区别?
热门文章
- 国内国外很火爆的代码生成器
- Windows连接阿里云服务器图形界面
- jmp指令流程图怎么写_NS流程图是什么?规范实用的流程图工具
- zyf的现状 (BFS+优先队列)
- python中shape用法
- 【verbs】ibv_get_device_name()|ibv_get_device_list()
- 容器安装 libx264
- wpf DataGrid 绑定数据源后多一列
- 微博 用户画像_用户画像实例:创建可信的微博用户画像
- http 405原因