社区讨论

迷惑的 rand()

灌水区参与者 10已保存回复 15

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
15 条
当前快照
1 份
快照标识符
@lo943kyo
此快照首次捕获于
2023/10/28 05:15
2 年前
此快照最后确认于
2023/10/28 05:15
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int main(){
	srand(time(0));
	int r[5]={};
	int a=0,b=0;
	int la;
	long long sum=0;
	for(int i=1;i<=10000000;++i){
		if(rand()%2)continue;
		if(rand()%2)++a;
		else ++b;
	}
	cout<<a<<" "<<b<<endl<<1.0*a/(a+b);
	return 0;
}
0.500632
CPP
#include<bits/stdc++.h>
using namespace std;

int main(){
	srand(time(0));
	int r[5]={};
	int a=0,b=0;
	int la;
	long long sum=0;
	for(int i=1;i<=10000000;++i){
		if(rand()%2)++a;
		else ++b;
	}
	cout<<a<<" "<<b<<endl<<1.0*a/(a+b);
	return 0;
}
0.500001
为什么?

回复

15 条回复,欢迎继续交流。

正在加载回复...