草庐IT

unique_random_numbers

全部标签

c# - Random(int seed) 保证什么?

我正在从事一个项目,该项目依赖于为用户随机分配(没什么花哨的,只是统一的)更大集合的子集。每个用户都有一个从集契约(Contract)构到整数的唯一标识符。据我所知,有两种方法可以做到这一点。在用户和上述较大集合的键控元素之间创建一个数据库连接表,每个用户使用一些函数。这对我的需求来说可能有点不切实际,所以我宁愿做...在运行时通过类似的函数确定子集,但使用唯一的用户ID作为种子值,并且只将集合保存在内存中。下次需要时,它会从更大的集合中再次创建。所以我的问题是,如果我使用.NETRandom对象创建第二个使用user-id作为种子值的函数,Microsoft是否保证以后不会更改Ran

c# - 我如何在 SQL 中使用枚举而不在我的 SQL 脚本/过程中硬编码魔数(Magic Number)?

我们的C#代码中有枚举:publicenumJobStatus{Ready=0,Running=1,Cancelling=2,}这些值也存储在数据库字段中,我们有很多TSQL(主要是存储过程,以及一些批处理和SSIS)也处理数据:SELECTTOP1@JobSID=JobSIDFROMJobWHEREStatus=0/*JobStatus.Ready*/ORDERBYSubmitDateASCCREATETABLEImportCrossEffect(/*lotsdeleted*/SourcetinyintDEFAULT1NOTNULL--0:Unknown(default),1:Imp

c# - .NET 的 Random() 的实现更改

我正在将一种用于解码的方法从.NETFramework1.1迁移到.NETFramework4。我注意到Random的实现变了。所以给定相同的种子,Random.NextBytes返回不同的结果。因此,如果我运行以下代码。byte[]bytes=newbyte[4];System.Randomrandom=newSystem.Random(50);random.NextBytes(bytes);for(inti=0;i在.NETFramework1.1下它返回:bytes[0]=216bytes[1]=124bytes[2]=183bytes[3]=58在.NETFramework4下

c# - 从 Random.Range() 中排除值?

如果您使用Random.Range()生成值,是否有任何方法可以排除范围内的某些值(例如:选择1到20之间的数字,但不是6到8)? 最佳答案 最好的方法是使用你最喜欢的生成器生成一个介于1和17之间的整数n然后使用if(n>5){n+=3;}如果您在1到20之间采样然后丢弃值,您可能会引入统计异常,特别是对于低差异序列。 关于c#-从Random.Range()中排除值?,我们在StackOverflow上找到一个类似的问题: https://stackove

Javascript:Math.random

如果num参数是52,有多少可能的返回值?是52还是53?如果我理解正确的话,Math.random使用从0到1的随机值。如果是,则0是一个可能的返回值,52也是。这导致53个可能的返回值。这个对吗?我问的原因是我正在学习的一本书将这段代码用于一副纸牌。我想知道num是否应该等于51?谢谢...functiongetRandom(num){varmy_num=Math.floor(Math.random*num);returnmy_num;}; 最佳答案 Math.floor(Math.random()*num)//noterand

javascript - Mongoose .js CastError : Cast to number failed for value "[object Object]" at path "undefined"

将Mongoose.js与node.js结合使用。我有这个架构:varPhoto=newSchema({URL:String,description:String,created_by:{type:ObjectId,ref:'User'},created_at:{type:Date,default:Date.now()}});varUser=newSchema({name:{type:String,index:true},email:{type:String,index:true,unique:true}});//TaskmodelvarTask=newSchema({title:St

javascript - SQLError 19 UNIQUE 约束失败

我在设置我的应用程序、创建本地数据库并简单地插入第一个和唯一用户(已在本地登录)时遇到此错误。请查看代码中的注释以了解我在何处收到错误消息。angular.module("greenApp").service("dbService",['$q',function($q){vardb;varpromise=function(){vardeferred=$q.defer();db=window.openDatabase('greenDB','1.0','GreenDatabase',2*1024*1024);db.transaction(function(tx){tx.executeSql

javascript - Math.random() 可以在 javascript 中返回的最小非零值是多少

我知道计算机无法处理连续体。Math.random()javascript函数返回一个介于0(含)和1(不含)之间的float。我想知道它可以返回的最小非零数是多少。什么“步骤”有这个功能? 最佳答案 标准肯定没有表达这个值,所以它取决于实现(并且在这一点上有点夸张,甚至可能是aways的实现返回0.42作为Math.random()的结果>仍然符合规范)。IEEE754格式的64位归一化float所能表示的最小正数为2−1022,即2.2250738585072014×10−308。然而,浮点表示使用不同的分辨率,具体取决于大小。

javascript - 为什么 "(2.5 < 2.5 + Number.EPSILON)"在 JavaScript 中是假的?

我想在数组中查找小于某个值的值。我尝试使用Number.EPSILON,因为输入值不是确定值(例如1.5000000000001)。我在测试中发现了一些奇怪的东西:>>(1.5>(2.5这是为什么?测试环境为Chrome浏览器控制台。 最佳答案 同时Number.EPSILON本身可以精确表示,但这并不能保证向其添加值(或对其进行任何进一步操作)将导致完美的精度。在这种情况下,1.5+Number.EPSILON结果略高于1.5:console.log(1.5+Number.EPSILON);明显大于1.5。另一方面,将2.5添加到

javascript - Array.prototype.filter(Number) 中的 'Number' 是如何工作的?

我发现使用Array.prototype.filter方法从字符串中删除所有非数字的方式很酷,但我不完全确定它是如何使用Number实现这个的原型(prototype):vararr='75number9';arr.split(/[^\d]/).filter(Number);//returns[75,9]当我检查typeofNumber时,我返回'function'。这是怎么回事?让我更加困惑的是,如果我用String替换Number,结果是一样的。它仍然有效!arr.split(/[^\d]/).filter(String);//returns[75,9]Array和Object作为