生成不重复随机数的一种算法

GBASE 8s 在存储过程中生成随机数 我们需要一个合适的随机数生成器。假设 C 标准委员会在 ISO 9899:1990 标准中指定随机数生成器时大致知道他们在做什么,下面是该生成器在两个函数中的实现,sp_setseed(0 和 sp_random()。返回值的范围是 0..32767。 示例如下: CREATE PROCEDURE sp_setseed(n INTEGER) DEFINE GLOBAL seed DECIMAL(10) DEFAULT 1; LET seed = n; END PROCEDURE; ... 阅读详情
一个不错的算法,很简单,但有效。不过如果范围比较大,则占用内存大,就不推荐使用了。个人感觉1000个以内的就可以考虑。这东西也许你早就知道了,但我依然惊叹算法的力量。

看代码
  1. import java.util.*;
  2. /**
  3.  * 生成不重复随机数的一种算法。
  4.  * 
  5.  * @author 赵学庆,Java世纪网(java2000.net)
  6.  * 
  7.  */
  8. public class T {
  9.   public static void main(String[] args) {
  10.     // 种子你可以随意生成,但不能重复
  11.     int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  12.     int[] ranArr = new int[9];
  13.     Random ran = new Random();
  14.     // 数量你可以自己定义。
  15.     for (int i = 0; i < seed.length; i++) {
  16.       // 得到一个位置
  17.       int j = ran.nextInt(seed.length - i);
  18.       // 得到那个位置的数值
  19.       ranArr[i] = seed[j];
  20.       // 将最后一个未用的数字放到这里
  21.       seed[j] = seed[seed.length - 1 - i];
  22.     }
  23.     System.out.println("ranArr:" + Arrays.toString(ranArr));
  24.   }
  25. }
一个运行结果
ranArr:[6, 3, 5, 9, 7, 2, 8, 4, 1]


GBase 8a SQL参考手册 GBase 8a SQL参考手册.pdf 全面的sql使用手册,查询方便 立即下载

相关推荐

Metal 一、初识 Metal 及其语言规范

游戏开发者的新的技术平台,该技术能够为3D图像提高 10 倍的渲染性能。苹果2018年推出 Metal,在此之前一直使用OpenGL ES。1图形渲染;2高并发计算。苹果文档给出的 Metal 优化:CPU 低消耗、GPU 高利用、连续处理器并行、有效的资源利用Metal 官方文档。

irainsa的博客 1222

gbase8s数据库——rand()函数详解

RAND([N]) 一,函数说明: 返回 0<= v < =1范围内的随机浮点值。如果指定了整数参数n,则将其用作种子值: 1.种子唯一,返回唯一的0<= v < =1之间的浮点型随机数 2.没有种子,则返回的0<= v < =1之间的浮点型随机数 二,函数示例: > select rand() from dual; > 0.859368052734 ...

qq_40377704的博客 2378

永磁同步电机FOC控制实战:如何用线性死区补偿解决低速抖动问题(附Matlab仿真代码)

本文详细介绍了永磁同步电机FOC控制中线性死区补偿技术的工程实现方法,有效解决低速抖动问题。通过Matlab/Simulink仿真验证,该方案可将转矩脉动降低70%以上,显著提升系统稳定性。文章包含完整的数学模型构建、Simulink实现步骤及参数整定技巧,为工程师提供实用解决方案。

weixin_30872499的博客 155

gbase8s数据库获取随机数方法

/ 取低31位作为结果,避免符号位影响。在早期的数据库版本中,没有获取随机数的函数,为此,提供如下几种方式,仅供测试参考,具体使用请联系gbase8s官方技术支持。--将结果映射到[0,100]区间。--简单的线性同余生成器(LCG)的变种。--XORSHIFT算法。

wangyx01的博客 807

电商客服效率翻倍!手把手教你用影刀RPA+AI搭建智能回复系统(附实战配置)

本文详细介绍了如何利用影刀RPA+AI技术搭建电商智能客服系统,实现24小时在线回复,大幅提升客服效率。通过零代码配置、Excel词库管理和AI语义理解,系统能处理80%常规咨询,响应速度稳定在3秒内,特别适合中小电商降低成本并提升服务质量。

weixin_42520661的博客 550

如何打开本地网络的防火墙端口(Windows版)解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。问题

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 最开始在遇到这个报错的时候十分不解,后来经过思考,有可能是服务器端口占用,或者并没有放行。因此搜查问题的关键是要先去排查问题。 在搜索栏输入控制面板 选择防火墙 选择开关 保证这些选项是开着的 选择高级设置 新建规则 创建协议端口 选择端口 允许连接 点击下一步 创建规则后点击下一步(后命名) 选择任意端口ALL即可 问题排查完毕!socket创建网络通信时,有读者

weixin_46900108的博客 9万+

GBASE 8C——SQL参考 2 函数和操作符

GBASE 8C——SQL参考 2 函数和操作符

Joe72的博客 852

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

孤寒者的博客 1万+

GBase 8c 函数与操作符——1-逻辑||比较||数学函数操作符

GBase 8c提供了大量的函数和操作符,用户也可以自己定义函数和操作符。 1、逻辑操作符 常用的逻辑操作符:AND、OR、NOT 2、比较操作符 3、数学函数和操作符 下表展示了所有GBase 8c可用的数学操作符: 可用的数学函数如下表: 表中dp表示double precision。除非特殊指明,任何函数都返回和它参数相同的数据类型。 GBase 8c数据库产生随机数的函数如下: 三角函数如下: ...

art_love的博客 591

黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

黑猫带你学eMMC协议第7篇:全网最全emmc写保护详解(write protect) 黑猫带你学eMMC协议第8篇:emmc可靠写详解(Write Reliability) 黑猫带你学eMMC协议第9篇:emmc的分区配置(partitioning) 黑猫带你学eMMC协议第10篇:eMMC命令队列详解(CMDQ) 黑猫带你学eMMC协议第11篇:eMMC擦除详解(erase/trim/discard/sanitize/secure erase/secure trim…) 黑猫带你学eMMC协议第12篇:

黑猫奥利奥的博客 2万+

手把手教你学Simulink——基础储能管理场景实例:基于Simulink的压缩空气储能(CAES)系统简化模型仿真

本文介绍了基于Simulink的压缩空气储能(CAES)系统简化模型仿真方法。CAES作为大规模长时储能方案,相比锂电池具有成本低、寿命长等优势。文章详细讲解了AA-CAES系统组成、热力学建模理论,以及Simulink实现流程,包括储气室、压缩机、膨胀机等核心模块的建模方法。通过8小时充电(50MW)和6小时放电(40MW)的仿真,验证了系统可实现60%往返效率。该模型为理解CAES系统运行机制提供了实用工具,并指出热管理、储气室特性等工程实践要点,为新型电力系统储能规划提供了仿真基础。

MHD0815的博客 172

生成不重复随机数的一种算法。

import java.util.*; /** * 生成不重复随机数的一种算法。 *  * @author 赵学庆,Java世纪网(java2000.net) *  */public class T {  public static void main(String[] args) {    // 种子你可以随意生成,但不能重复    int[] seed = { 1, 2, 3, 4, 5, ...

既是过河之卒,惟有奋力向前。 106

ABAP 百科全书的阅读目录(2024版)

909 篇 ABAP 技术文章的目录

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4250

C语言生成不重复的随机数数组

C语言生成不重复的随机数数组 //一个随机数数组生成算法,生成0-n不重复的随机数数组 //本例子使用的是0-99的范围,参数可改 //如果是在最后面的数组,使用完,丢弃 //如果是前面的数则用后面不可取到的数替换 #include <stdio.h> #include<stdlib.h> #include<time.h> int main() { i...

weixin_44014909的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java生成不重复随机数

java实现如何生成不重复的随机数 | 浏览:252 | 更新:2015-01-12 13:50 在开发中常常会遇到要生成随机数,要求不重复并且效率又高,怎么实现呢,自己的一些算法设计分享给大家。以生成8位数的随机值为例: import java.util.Random; public class RadomUtil { ...

wangqs1984的博客 682

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JS 生成一组不重复的随机数

随机产生一组介于指定范围的不重复的随机数。 1.主要实现 /// /// 生成一个指定范围的随机数 /// /// 起始值 /// 终止值 function newNumber(start,end){ return Math.round(Math.random()*(end-start)+start);//生成在[start,end]范围内的随机数值,只支持不小于0的合法范围

勇敢向前冲 7903

Unity 生成不重复随机数

public int[] GetRandomSequence2(int total, int n) { //随机总数组 int[] sequence = new int[total]; //取到的不重复数字的数组长度 int[] output = new int[n]; for (int i = 0; i ...

什么风把您给吹来了 2277

生成n个不重复的随机数

public ArrayList getDiffNO(int n){ // 生成 [0-n) 个不重复的随机数 // list 用来保存这些随机数 ArrayList list = new ArrayList(); Random rand = new Random(); boolean[] bool = new boolean[n]; int num = 0; for (int i = 0; i ...

yanghaha 1121

随机产生20个不重复随机数,然后进行排序

首先,可以设置数组储存这20个数,然后为了不产生重复数字,可以让产生的数与前面已经产生的数进行比较,如果有重复,那么我们循环次数i就减1,再产生随机数,一直这么循环,那么就可以产生不重复数字。 接下来就是排序,我采用的是冒泡排序,其实也就是进行递归算法。前一个数与后一个数相互比较,如果后面的数小于前面的数,那么两个数的位置进行交换,再一直循环(还有注意循环里边的j,可以看注释)。我的大致思路是这些,具体可以参考一下代码。 #include<stdio.h> #include<stdlib.

weixin_47129632的博客 5569

产生N个不重复的随机数的快速算法

今天碰到了这个问题,时间比较紧迫最后还是用了一个不太美的方法,这个就美多了,也可以作为随机序列生成的方法。 转载自:http://blog.csdn.net/devfun/article/details/6534476 今儿写一段生成随机数的东西,需要用到产生N个“不重复”的随机数算法,研究了半天,找到一种快速的解决办法: [java] view plaincop

MemRay 3514

不重复随机数生成

算法总体思路是:初始化一个存有整型0~N的数组,然后生成随机数作为索引取一个数组元素,将数组末尾的元素赋值给取走的位置,生成随机数上限减一,循环,可以保证取不到相同的数值。 public int[] get_randam(int N, int k) { int[] index = new int[N]; for (int i =

JarvisKao的博客 679
上一篇: 关于单例(Singleton)模式实现方式的反思
下一篇: 新疆乌恰县发生6.8级地震 目前尚未接到人员伤亡报告
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值