草庐IT

random_integer

全部标签

java - java.util.Random 真的那么随机吗?我怎样才能生成52! (阶乘)可能的序列?

我一直在使用Random(java.util.Random)来洗一副52张牌。有52个!(8.0658175e+67)个可能性。然而,我发现java.util.Random的种子是一个long,在2^64(1.8446744e+19)时要小得多。从这里开始,我怀疑java.util.Random是否真的那么随机;它真的能够生成所有52个吗?可能性?如果不是,我怎样才能可靠地生成一个可以产生全部52个的更好的随机序列!可能性? 最佳答案 与您的问题所暗示的相比,选择随机排列同时需要更多和更少的随机性。让我解释一下。坏消息:需要更多随机

c++ - 为什么每次使用 std::random_device 和 mingw gcc4.8.1 运行都会得到相同的序列?

我使用下面的代码来测试C++图书馆。为什么每次运行已编译的可执行文件都得到完全相同的序列?是rd()编译时确定性?如何为每次运行获得不同的输出?Windows764位上的GCC4.8.1。使用http://nuwen.net/mingw.html中的MinGW分发.编辑:我用VisualStudio测试了相同的代码。没有问题。输出是不确定的。这可能是我使用的mingwgcc4.8.1中的一个错误。#include#includeusingnamespacestd;intmain(){random_devicerd;mt19937mt(rd());uniform_int_distribu

c++ integer->std::string 转换。简单的功能?

问题:我有一个整数;这个整数需要转换为STL::string类型。过去,我使用stringstream进行转换,这有点麻烦。我知道C方法是执行sprintf,但我更愿意执行类型安全的C++方法。有没有更好的方法来做到这一点?这是我过去使用的字符串流方法:std::stringintToString(inti){std::stringstreamss;std::strings;ss当然,这可以改写成这样:templatestd::stringt_to_string(Ti){std::stringstreamss;std::strings;ss但是,我认为这是一个相当“重量级”的实现。Za

ios - 使用 arc4random() 时如何选择值的范围

我可以在使用arc4random()时设置一个数字范围吗?仅例如50-100。 最佳答案 正如下面其他帖子中所指出的,最好使用arc4random_uniform。(最初编写此答案时,arc4random_uniform不可用)。除了避免arc4random()%x的模偏差之外,它还避免了arc4random在短时间内递归使用时的播种问题。arc4random_uniform(4)将生成0、1、2或3。因此您可以使用:arc4random_uniform(51)只需将50添加到结果中即可获得50和100(含)之间的范围。

objective-c - arc4random 和 arc4random_uniform 有什么区别?

这个问题在这里已经有了答案:Arc4randommodulobiased(1个回答)关闭7年前。我已经看过关于Objective-C中random和arc4random之间差异的旧帖子,并且我已经在网上看到了这个问题的答案,但我真的没有理解,所以我希望这里的人能以更容易理解的方式解释它。使用arc4random和arc4random_uniform生成随机数有什么区别? 最佳答案 arc4random返回一个介于0和(2^32)-1之间的整数,而arc4random_uniform返回一个介于0和您传递的上限之间的整数。来自man3

ios - 在 32 位和 64 位架构上格式化 NS(U)Integer 时类型转换的替代方法?

对于64位版本的iOS,我们不能再使用%d和%u来格式化NSInteger和NSUInteger。因为对于64位,这些类型定义为long和unsignedlong而不是int和unsignedint。因此,如果您尝试使用%d格式化NSInteger,Xcode会抛出警告。Xcode对我们很好,它提供了这两种情况的替代品,它包括一个以l为前缀的格式说明符和一个类型转换为long。那么我们的代码基本上是这样的:NSLog(@"%ld",(long)i);NSLog(@"%lu",(unsignedlong)u);如果你问我,那是眼睛疼。几天前,有人在Twitter上提到了格式说明符%zd来

java - ClassCastException : ApiVersionImpl cannot be cast to java. lang.Integer

我有android+gradle项目。当我尝试启动应用程序时出现以下异常:'ClassCastException:com.android.build.gradle.internal.model.ApiVersionImpl无法转换为java.lang.Integer:com.android.build.gradle.internal.model.ApiVersionImpl无法转换为java.lang.Integer'buildscript{repositories{mavenCentral()}dependencies{classpath'com.android.tools.buil

java - 如何在 Java 中将 int[] 转换为 List<Integer>?

如何转换int[]进入List在Java中?当然,除了逐项循环执行之外,我对任何其他答案都感兴趣。但如果没有其他答案,我会选择一个作为最好的答案,以表明此功能不是Java的一部分。 最佳答案 流在Java8+中,您可以创建int数组的流。调用Arrays.stream或IntStream.of.调用IntStream#boxed使用从int原语到Integer的装箱转换对象。使用Stream.collect(Collectors.toList())收集到列表中。或者更简单地说,在Java16+中,调用Stream#toList().

python - 为什么我看到 "TypeError: string indices must be integers"?

我正在学习Python,并试图将GitHub问题转换为可读的形式。使用关于HowcanIconvertJSONtoCSV?的建议,我想出了这个:importjsonimportcsvf=open('issues.json')data=json.load(f)f.close()f=open("issues.csv","wb+")csv_file=csv.writer(f)csv_file.writerow(["gravatar_id","position","number","votes","created_at","comments","body","title","updated_a

机器学习算法系列(十八)-随机森林算法(Random Forest Algorithm)

阅读本文需要的背景知识点:决策树学习算法、一丢丢编程知识最近笔者做了一个基于人工智能实现音乐转谱和人声分离功能的在线应用——反谱(Serocs),感兴趣的读者欢迎试用与分享,感谢您的支持!serocs.cn一、引言  前面一节我们学习了一种简单高效的算法——决策树学习算法(DecisionTreeLearningAlgorithm),下面来介绍一种基于决策树的集成学习1算法——随机森林算法2(RandomForestAlgorithm)。二、模型介绍  有一个成语叫集思广益,指的是集中群众的智慧,广泛吸收有益的意见。在机器学习算法中也有类似的思想,被称为集成学习(Ensemblelearnin