c_cpp 【随机化算法】随机数【7.1】

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 【随机化算法】随机数【7.1】相关的知识,希望对你有一定的参考价值。

//随机数类抛硬币实验测试
#include "stdafx.h"
#include "RandomNumber.h"
#include <iostream>
using namespace std;
 
int TossCoins(int numberCoins);
 
int main()
{
	//模拟随机抛硬币事件
	const int NCOINS = 10;
	const long NTOSSES = 50000L;
	//heads[i]是得到i次正面的次数
	long i,heads[NCOINS+1];
 
	int j,position;
 
	//初始化数组heads
	for(int j=0; j<NCOINS+1;j++)
	{
		heads[j] = 0;
	}
 
	//重复50,000次模拟事件
	for(int i=0; i<NTOSSES; i++)
	{
		heads[TossCoins(NCOINS)]++;
	}
 
	//输出频率图
	for(int i=0; i<=NCOINS; i++)
	{
		position = int(float(heads[i])/NTOSSES*72);
		cout<<i<<" ";
		for(int j=0; j<position-1; j++)
		{
			cout<<" ";
		}
		cout<<"*"<<endl;
	}
 
	return 0;
}
 
int TossCoins(int numberCoins)
{
	//随机抛硬币
	static RandomNumber coinToss;
	int i,tosses = 0;
	for(int i=0; i<numberCoins; i++)
	{
		//Random(2) = 1表示正面
		tosses += coinToss.Random(2);
	}
	return tosses;
}

以上是关于c_cpp 【随机化算法】随机数【7.1】的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 【随机化算法】计算π值【7.2.1】

c_cpp 【随机化算法】跳跃表【7.3.3】舍伍德(舍伍德)算法

c_cpp 【随机化算法】线性时间选择算法【7.3.1】舍伍德(舍伍德)算法

c_cpp 【随机化算法】素数测试【7.5.3】蒙特卡罗(Monte Carlo)算法

c_cpp 【随机化算法】搜索有序表【7.3.2】舍伍德(舍伍德)算法

c_cpp 【随机化算法】解非线性方程组【7.2.3】