制作随机数 - luosiwei-cmd/CarYon GitHub Wiki
制作随机数
下面我们就来制造一个随机数:
cyrand(a,b);
他的功能是返回一个在a
到b
之间的随机数。
这个随机数使用的MT19337(或梅森旋转法)突破了C++自带的RAND_MAX的限制。
(如果要产生一个long long
范围内的随机数,用cyrand_ll())。
我们再看看怎么把整型的变量存储到输入文件里面去:
inint(a);
instring(b);
这两个函数都是把东西输入in
文件的作用,如果我们要输入一个随机数,我们这么写:
inint(cyrand());
就可以了。
例如下面的程序:
#include"caryon.h"
using namespace std;
using namespace ca;
int main(){
dataname="test";
makein(1,10){
csh();
inint(cyrand(0,100));
}
}
就会发现目录中data-test
文件夹里面出现了 test1.in-test10.in
文件,用记事本打开这些文件,就会发现每一个文件里面都有一个随机数。
如果你不知道如何利用记事本打开in
文件和out
文件,请右击文件,点击打开方式,找到你的记事本。或者你可以使用 Dev-C++,打开软件,将in
文件拖进去即可。
对于这个程序,我们如果这样编写 std.cpp
:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
cout<<a+10;
return 0;
}
编译后把test.cpp
改为:
#include"caryon.h"
using namespace std;
using namespace ca;
int main(){
dataname="test";
makein(1,10){
csh();
inint(cyrand(0,100));
}
makeout(1,10);
}
再用记事本分别打开 in
和out
文件,就可以发现是每个in
文件的数加 $10$ 的结果了。
由于新版本的功能特性支持,在生成文件的时候会有提示,再也不用担心哪个黑框框一直跳呀跳的啦!