7-9.cpp

来自「Accelerated C++ 课后练习题 本人自己完成、可供参考」· C++ 代码 · 共 30 行

CPP
30
字号
#include<iostream>
#include<cmath>
using namespace std;

//return a random integer in the range[0,n)
int nrand(int n)
{
	if(n<=0)
		throw domain_error("Argument to nrand is out of range");
	if(n>RAND_MAX)
		return pow(nrand(sqrt(n)),2);
	
	else
	{
		const int bucket_size=RAND_MAX/n;
		int r;

		do
			r=rand()/bucket_size;
		while(r>=n);
		return r;
	}	
}

int main()
{
	for(int i=0;i<10;++i)
		cout<<nrand(32768000)<<endl;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?