ZKX's LAB

随机数抽取的程序 如何用易语言制作一个简易随机数抽取软件

2020-07-20知识10

如图的程序可产生一系列随机数,其工作原理如下: (1)输出4包括2个互斥事件,分别是:以2为自变量,H(x)是g(x)=x 2;以1为自变量,H(x)是f(x)=3x+1,故所求概率P=1 5×1 2+1 5×1 2=1 5;(6分)(2)将程序运行一次,输出的结果是奇数包括1,7,9,13,25这5种情况,故运行一次输出奇数的概率是P=1 5×1 2+1 5×1 2+1 5×1 2+1 5×1 2+1 5×1 2=1 2,…(10分)由独立重复试验的概率计算公式得P 4(2)=C 24?(1 2)2?(1-1 2)2=3 8.(12分)C语言抽取随机数怎么编写 C语言中有自己的随机数函数rand()其原型为int rand();功能为获取一个随机整型数。所在头文件为stdlib.h抽取10个随机数并输出的程序可以写成#include<;stdio.h>;#include。电脑随机抽取数字的程序 你需要随机抽取1~100中的数字100个,实际上你已经把数字收取完了,只是随机排序的问题,可以用数组来实现,第一次产生一个1~100的随机数,把这个数交换到数组第1个位置,第二次产生2~100的随机数交换到第二个位置,直到最后产生100~100的随机数,下面是我写的例子程序:{$apptype console}program exp;var a:array[1.100]of 1.100;i,j,k:integer;beginrandomize;for i:=1 to 100 do a[i]:=i;for i:=1 to 100 dobeginj:=random(100-i+1)+i;if j<;>;i then begin k:=a[i];a[i]:=a[j];a[j]:=k;end;end;for i:=1 to 100 do write(a[i]:4);end.此程序在DELPHI下运行成功,结果如下:E:\\ygb>;dcc32 b.dprBorland Delphi Version 15.0Copyright(c)1983,2002 Borland Software Corporationb.dpr(14)15 lines,0.05 seconds,10724 bytes code,1905 bytes data.E:\\ygb>;b.exe66 33 17 83 67 88 85 78 92 93 82 13 80 22 11 24 46 64 97 7554 70 55 49 5 40 23 45 6 62 4 29 47 71 10 99 14 25 48 320 58 42 41 15 1 7 19 100 34 2 18 30 53 26 38 44 37 9 6173 96 95 39 68 31 72 79 59 86 16 57 8 51 89 50 28 87 81 3669 77 65 91 56 76 60 84 63 21 12 94 。我现在想用java实现一个类似抽取随机数的程序 class RandomThread extends Thread{/随机数线程,继承线程类JLabel jb;操作的JLabel对象public RandomThread(JLabel jb){/构造函数,接收对象this.jb=jb;}public void run(){/重写run方法if(jb。null)jb.setText(Math.random()*10);设置标签的文本}}以下代码为创建6个线程for(int i=0;i;i+){/遍历标签数组new RandomThread(jlb[i]).start();创建并启动相应的线程}c++新人求指点,一个抽随机数的程序 #includeusing namespace std;int main(){多定义一个c,且将m所有元素的值初始化为0int a,b,c,h,t(0),m[1000]={0};t是计数器,让每行只显示八个数L1:cout请输入抽取范围,两个数字间以空格间隔:\";cin>;>;a>;>;b;if(b){cout输入有误,请重新输入\";goto L1;}cout请输入抽取人数:\";cin>;>;h;cout恭喜以下\"位小可爱,他们是:\";srand(time(0));L2:for(int i=1;i;i+*/)m[rand()%(b-a+1)+a]+;{c=rand()%(b-a+1)+a;这是第1次抽到cif(m[c]=0){m[c]=1;i+;}}for(int i=a;i;i+)/防止一个号码被抽到两次if(m[i]>;=2){memset(m,0,1000);goto L2;}for(int i=a;i;i+){if(m[i]=1){cout;t+;}if(t=8){cout;t=0;}}cout;system(\"pause\");}一个取随机数的问题。从1,2,3,4中抽取数字。用什么编程语言无所谓。 不知道你做这个是在什么地方用,其实做到非常的简单.但是讲起来比较麻烦,还需要你有一定的基础,你需要耐心的看下去.C语言的随机数产生可以通过random函数得到,设x=random()那么x就是一个(0,1)的随机变量。再设一个变量 p4 表示 4 出现的概率初始化时可以令 p4=1/4程序结构大致如此a[]为结果序列for(循环体根据你需要的数的长度得到){x=random();得到一个随机数若 0[i]=4;若 p4(1-p4)/3;a[i]=3;若 p4+(1-p4)/3*(1-p4)/3;a[i]=2;若 p4+2*(1-p4)/3*(1-p4)/3;a[i]=1;if(a[i]=4){ p4=0;count=0;}count=count+1;if(count>;16){ p4=(count-16)/4 } 保证16-20次必有一个 4 出现,同时在16次以内决不会出现两个4}如果你需要matlab程序我可以很快给你写出来。2 如果你学过m序列就知道了,计算机的随机数都是m序列的原理,好比均匀分布的随机序列,如楼主所说,不加处理(1,2,3,4)出现的概率都是1/4,因此连续出现一个数的概率N次的概率为(1/4)^N,只要N不管多大,都是可能的,但是概率会非常的小。3 你说的第三点是对的,其实计算机的随机都是伪随机序列,但是周期可以长到你这辈子都不可能看完它循环完一次。HELLO.C-Hello,world*/include\"stdio.hinclude。

#线程#string#随机数

随机阅读

qrcode
访问手机版