草庐IT

行走的数字

全部标签

c++-default_random_engine 始终创建相同的数字系列

我正在使用神经网络,我想随机创建权重。因此,如果我创建30个神经网络,它们中的每一个最终都具有相同的权重(应该是随机的),所以当我给它们所有相同的输入时,输出是相同的,而在不应该的时候。有帮助吗?这里是主要功能intmain(){std::vectorv;std::random_devicerd;std::default_random_enginegenerator(rd());std::uniform_real_distributiondistribution(-1.0,1.0);for(inti=0;iinitialize_weights在这里:voidImproved_NN::i

c++ - 为什么超过 255 的返回码在 C++ 中返回不同的数字?

例如……#includeusingnamespacestd;intmain(){return300;}返回:Processfinishedwithexitcode44?? 最佳答案 标准只知道两个标准化的返回值:EXIT_SUCCESS(或零)和EXIT_FAILURE:3.6.1/5Areturnstatementinmainhastheeffectofleavingthemainfunction(destroyinganyobjectswithautomaticstorageduration)andcallingstd::exi

c++ - 数字的立方根,C++

我想问一个非常简短的问题,问题如下:在C++中求一个数(负数和正数)的立方根时,如何将输出限制为仅实数解?我目前正在编写一个程序来使用Cardano公式求解立方体,我使用的其中一个中间变量随机输出复数和实数立方根-我只需要实数根。(例如,在计算-0.0127378的立方根时,三个根将为0.11677095+0.202253218i、−0.2335419、0.11677095−0.202253218i-我希望忽略复杂的代入后面的公式)谢谢!编辑:解决了!:)我创建了一个signum函数,并在取SPrime和TPrime的绝对值的幂之后调整了符号,所以现在它只携带真正的立方根。/*...*

c++ - 避免运行时到编译时数字参数转换的代码重复

假设我们有这样的函数templatevoidfoo();为简单起见,假设我们知道只有(常数)值N_1、N_2...N_k对N有效。现在,假设我想将该编译时参数设为运行时参数,使用foo()作为黑盒,即实现:templatevoidfoo(unsignedn);通过调用foo()。我应该怎么做?显然,我可以写:templatevoidfoo(unsignedn){switch(n){caseN_1:foo();break;caseN_2:foo();break;//etc.etc.caseN_k:foo();break;}}...但这让我觉得很脏。我想我可以使用MAP()元宏来生成这些k

c++ - 在 C/C++ 中从 int 获取单个数字以进行基数排序的最佳方法

从具有n个数字的int中获取单个数字以用于基数排序算法的最佳方法是什么?我想知道在C/C++中是否有特别好的方法,如果没有,一般的最佳解决方案是什么?编辑:澄清一下,我正在寻找一种解决方案,而不是将其转换为字符串并将其视为数字数组。 最佳答案 使用大小为2^k的数字。要提取第n个数字:#defineBASE(2>(n*k))&MASK;}使用移位和掩码(由基数为2的幂启用)避免昂贵的整数除法指令。之后,选择最佳基础是一个实验性问题(针对您的特定硬件进行时间/空间权衡)。可能k==3(base8)效果很好并且限制了buckets的数量

c++ - 获取数字的数字有更好的选择吗? (C++)

我知道您可以使用模数和除法来获取数字的数字。以下是我过去的做法:(伪代码让阅读本文的学生为他们的家庭作业做一些工作):intpointergetDigits(intnumber)initializeintpointertoarrayofsomesizeinitializeintitozerowhilenumberisgreaterthanzerostoreresultofnumbermod10inarrayatindexidividenumberby10andstoreresultinnumberincrementireturnintpointer无论如何,我想知道是否有更好、更有效的

c++ - 循环直到整数输入在要求的范围内无法处理非数字字符输入

我对应该非常简单的代码有疑问。我想通过错误检查获取1到3之间的整数。它可以很好地检查太大或太小的数字,但是当输入字母/数字组合时,它会陷入无限循环。有什么建议吗?#includeusingnamespacestd;intmain(intargc,char*argv[]){intinput;cout";cin>>input;while(input3){cout";cin>>input;}cout 最佳答案 问题在于:cin>>input;当您尝试读取非数值时,将导致设置错误位。在那之后,任何使用operator>>的尝试都会被忽略。所

c++ - 如何在不四舍五入的情况下在C++中显示固定数量的数字

我有这段代码(非常基本):#include#includeusingnamespacestd;intmain(){floata=0.0,b=0.0,c=0.0;cout>a;cout>b;cout当我输入两个数字(例如,a=513和b=791)时,我得到0.65。计算器显示正确答案是0.648。我知道我的代码将最后一个十进制数四舍五入,但这不是我想要的。我怎样才能让它保持在0.64而不是0.65? 最佳答案 如果您想将值截断到小数点后两位,可以将其乘以100,截断为整数,然后除以100,如下所示:c=a/b;c=floor(100*

C++,按数字读取文件行

我想制作按数字读取文件的控制台项目。示例:按数字查找12并且它仅在包含这些数字的文件夹中的控制台文本行中打印bibiceki12haseshcekiii13krkicko12在这种情况下,它只会打印出“bibiceki”和“krkicko”。在我的代码中有很多遗漏的东西。我没有检查数字是否正确的循环,但这是我能做的最好的事情和我尝试过的事情:#include#include#include#include#includeusingnamespacestd;intmain(){charstr1[10],str2[10];intraz,ode;ifstreaminfile("file.tx

c# - 在 C++ 中模拟 C# Random()(相同的数字)

有没有办法在C++中实现C#Random()类?我特别需要根据给定的种子生成相同的数字序列。场景:我正在努力通过利用C#中Random()的使用来生成key来“破解”几个加密恶意软件。显然,这对于只有2^32个可能的key,~4.3B个key来说是弱的,这在猜测的可能性范围内。我用C#编写了暴力破解器,但无论我优化多少,它们都相当慢。我想在C++中实现一个bruteforcer以获得最佳效率(“更接近硬件”),因为我可以通过解密部分获得更好的速度优化(例如AES-256通常,将来甚至可以利用GPU),并以指数方式获得更好的输出。显然,Random(seed)!=srand(seed),