问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用线性同余法生成随机数序列的公式为:

发布网友 发布时间:2022-04-29 21:14

我来回答

4个回答

热心网友 时间:2022-06-22 23:19

用线性同余法生成随机数序列的公式为:rk = ( multiplier * rk-1 + increment ) % molus。
线性同余法主要是运用取模的运算来获取随机数,是一种在一些要求较低的场合能基本满足产生均匀分布随机数的方法。
数论中线性同余方程是最基本的同余方程,“线性”表示方程的未知数次数是一次。
随机数是实现由已知分布抽样的基本量,在由已知分布的抽样过程中,将随机数作为已知量,用适当的数学方法可以由它产生具有任意已知分布的简单子样。由具有已知分布的总体中抽取简单子样,在蒙特卡罗方法中占有非常重要的地位。总体和子样的关系,属于一般和个别的关系,或者说属于共性和个性的关系。由具有已知分布的总体中产生简单子样,就是由简单子样中若干个性近似地反映总体的共性。
由于随机数在蒙特卡罗方法中占有极其重要的位置,所以用专门的符号ξ表示。由随机数序列的定义可知,ξ1,ξ2,…是相互独立且具有相同单位均匀分布的随机数序列。也就是说独立性、均匀性是随机数必备的两个特点。

热心网友 时间:2022-06-22 23:19

#include<iostream>
using namespace std;
int Rand(int m,int n)
{//指定范围内生成一个随机数
static int r;//静态变量,可以保留上一个随机数
do
{
r=(25173*r+13849)%65536;
}
while(r<m||r>=n);
return r;

}
int main()
{
int w,i,r,t=0;
char op,answer;
int a,b,d;
while(1)//练习开始
{
cout<<"现在开始?(Y或N)\n";
cin>>answer;
if(answer=='N'||answer=='n') break;
while(1)
{
cout<<"请输入难度(1或2):";
cin>>w;
if(w!=1&&w!=2) cout<<"输入难度错误,请重新输入!"<<endl;
else break;
}
while(1)
{
cout<<"请输入运算类型(+,-,*,/):";
cin>>op;
if(op!='+'&&op!='-'&&op!='*'&&op!='/') cout<<"输入运算符错误,请重新输入!"<<endl;
else break;
}
//出十个题,每题10分
t=0;
for(i=1;i<=10;i++)
{
while(1)
{
if(w==1)
{
a=Rand(0,10);
b=Rand(0,10);
}
else if(w==2)
{
a=Rand(10,100);
b=Rand(10,100);
}
if(op=='-')
{
if(a<b) continue;//让被减数大于减数
}
if(op=='/')
{
if(int(a/b)!=(a/b)) continue; //只做结果为整数的除法
}
break;
}
cout<<a<<op<<b<<'=';
cin>>d;
switch(op)
{
case '+': r=a+b; break;
case '-': r=a-b; break;
case '*': r=a*b; break;
case '/': r=a/b; break;
}
if(r==d)
{
cout<<"你算对了,加10分!"<<endl;
t+=10;
}
else cout<<"你算错了!"<<endl;
}
cout<<"你的成绩是:"<<t<<"分"<<endl;
}
return 0;
}

热心网友 时间:2022-06-22 23:20

  用线性同余法生成随机数序列的公式为:
rk = ( multiplier * rk-1 + increment ) % molus
序列中的每一个数rk,可以由它的前一个数rk-1计算出来。
  #include <iostream.h>
  int f();
  int Y1();
  int Y2();
  void main()
  { int Y,i,r,t=0;
  char p;
  float a,b,d;
  AA: cout << "请输入难度(1或2):";
  cin >> Y;
  if ( Y!=1 && Y!=2 )
  { cout << "输入难度错误,重新输入!" << endl;
  goto AA; }
  BB: cout << "请输入运算类型(+,-,*,/):" ;
  cin >> p;
  if ( p!='+' && p!='-' && p!='*' && p!='/' )
  { cout << "输入运算符错误,重新输入!" << endl;
  goto BB;}
  //出10道题,每题10分
  for( i=1; i<=10; i++ )
  { l3: if( Y==1 ){ a=Y1(); b=Y1(); }
  if( Y==2 ){ a=Y2(); b=Y2(); }
  if (p=='-' )
  if ( a<b ) goto l3; //使被减数大于减数
  if ( p=='/' )
  if ( int(a/b) != (a/b) )
  goto l3; //只做结果为整数的除法
  cout << a << p << b << '='; cin >> d;
  switch ( p )
  { case '+': r = a+b; break;
  case '-': r = a-b; break;
  case '*': r = a*b; break;
  case '/': r = a/b; break;
  }
  if ( r==d ){
  cout << "算对了,加10分,加油!" << endl;
  t = t+10; }
  else cout << "算错了,继续努力!" << endl;
  }
  cout << "你的成绩是:" << t << "分" << endl;
  }

  int f()
  { static int r;
  r = ( 25173*r+13849 ) % 65536;
  return r;
  }
  int Y1()
  { int rand;
  do
  { rand = f();
  }while ( rand<0 || rand>10 );
  return rand;
  }
  int Y2()
  { int rand;
  do
  { rand = f();
  }while ( rand<10 || rand>=

热心网友 时间:2022-06-22 23:20

#include <iostream.h>
int f();
int Y1();
int Y2();
void main()
{ int Y,i,r,t=0;
char p;
float a,b,d;
AA: cout << "请输入难度(1或2):";
cin >> Y;
if ( Y!=1 && Y!=2 )
{ cout << "输入难度错误,重新输入!" << endl;
goto AA; }
BB: cout << "请输入运算类型(+,-,*,/):" ;
cin >> p;
if ( p!='+' && p!='-' && p!='*' && p!='/' )
{ cout << "输入运算符错误,重新输入!" << endl;
goto BB;}
//出10道题,每题10分
for( i=1; i<=10; i++ )
{ l3: if( Y==1 ){ a=Y1(); b=Y1(); }
if( Y==2 ){ a=Y2(); b=Y2(); }
if (p=='-' )
if ( a<b ) goto l3; //使被减数大于减数
if ( p=='/' )
if ( int(a/b) != (a/b) )
goto l3; //只做结果为整数的除法
cout << a << p << b << '='; cin >> d;
switch ( p )
{ case '+': r = a+b; break;
case '-': r = a-b; break;
case '*': r = a*b; break;
case '/': r = a/b; break;
}
if ( r==d ){
cout << "算对了,加10分,加油!" << endl;
t = t+10; }
else cout << "算错了,继续努力!" << endl;
}
cout << "你的成绩是:" << t << "分" << endl;
}

int f()
{ static int r;
r = ( 25173*r+13849 ) % 65536;
return r;
}
int Y1()
{ int rand;
do
{ rand = f();
}while ( rand<0 || rand>10 );
return rand;
}
int Y2()
{ int rand;
do
{ rand = f();
}while ( rand<10 || rand>=100 );
return rand;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
沈阳到哪需要四个火小时呢?辽宁本省内 安全员能上正在搭设的外架吗 壁挂炉取暖的日费用是多少? 用壁挂炉取暖一天需要多少钱 海淀民政局周六日休息吗 漳州荔枝海公园内有近3万株荔枝树,枝繁叶茂、翠绿欲滴,有乌叶、兰竹... 永茂荔枝花园楼盘概况 外甥女的生日红包应该多少合适? 挂车爆胎轮胎放外面轮毂放里面为什么? 刷完白球鞋晒干上面有黄色的“污渍”,怎样才能不出现这种情况 400度的近视,戴眼镜已有5年时间了,打算不带眼镜了,行吗? 如何用线性同余法生成随机数序列 ATM是什么意思`= = &#x200E;角膜塑形&#x200E;镜怎么选?&#x200E;八大品牌哪个好? 自助银行上面的英文字母ATM是什么意思 在宝视达眼镜店可以配戴梦戴维角膜塑形境么?这个镜片怎么样阿?我左眼近视500,右眼600,散光100 ATM各个字母都代表什么意思 我想了解一下梦戴维塑形镜,这个塑形镜怎么样?一年包括各项费用大概多少钱,多久换一次镜片 梦戴维效果怎么样? 梦戴维角膜塑形镜怎么样 深圳市梦视光学眼镜有限公司怎么样? ATM各个字母都代表什么意思?它是不是就是指自动提款机啊?谢谢! 依视路梦视哪个好 梦视和万新镜片哪个好 梦视镜片怎么样? oppo手机拦截功能在哪里找 短信拦截功能在哪里 2013年央视春节联欢晚会节目单最新? 手机拦截信息在哪里找? 班级联欢会办什么好玩的节目?要有创意!!! 2021年辽宁养老保险缴费标准 自己做随机函数 我想配一副近视眼镜,襄阳哪里配眼镜比较好,经济实惠质量好!慧之眼怎么样? ATM是啥意思 摘掉角膜塑形镜多久可配眼镜 线性同余法(或者称混合同余数法)的递推同余式? 欧普康视梦戴维角膜塑形镜使用寿命有几年? 关于欧普康视梦戴维...用过的朋友可否进来介绍下 我是辽宁锦州人今年九月份退休养老保险应该怎么交 欧普康视怎么样 知乎?欧普康视股吧 东方财富股吧?欧普康视2021分红多少钱? 辽宁省最新养老保险政策 欧普康视股票怎么样??欧普康视主力控盘程度?欧普康视最近分红多少钱? excel随机数生成的原理是什么? 辽宁省养老保险缴费基数和缴费比例 辽宁养老金缴费增加方案 辽宁养老金计算方法 辽宁交交养老保险为什么在中行交不了费在辽宁税务交呢 辽宁养老保险灵活就业人员交了181个月到法定退休年龄了能退一个月吗 辽宁省补交养老保险新政策2019年 刷墙会有甲醛吗,刷完马上住进去会不会有事