using namespace std
int main() //主函数
{char c=0,a //c用于存放x或d,a用于存放开出来的腔陪数
srand(time(0)) //种随机种子
do{printf("押大请按D,押小请按X,退出请按T:")
fflush(stdin) //清除输入缓冲区
scanf("%c",&c) 笑镇 //接受输入
if(c=='t'||c=='T') break //如果输入t退出循环
if(c=='x'||c=='X') c=0 //如果输入x置0
伍升蠢else if(c=='d'||c=='D') c=1 //否则如果输入y置1
else {printf("输入有误,请重来!\n")
continue} //如果都不是则重新输入
a=rand()%16+3 //模拟骰子开出3-18的一个随机数
printf("开%d,%s! ",a,a>10?"大":"小")//显示开奖结果
if((a>10&&c==1)||(a<11&&c==0)) //如果开大猜大或者开小猜小
printf("恭喜你,猜对了!\n") //猜对了就提示正确
else printf("很遗憾,猜错了!\n")//猜错了就提示错误
}while(1) //循环,重来一次
system("PAUSE") //暂停屏幕,以看清运行结果
return 0} //程序结束
编写程序?还是电子表格?一、编写程序思路:
1千次循环开始{
随机数;
如果{
1:统计1
2:统计2
……
6:统计6
}
结束穗誉如果;
}结束循环大枯
列出总的结果
二、电子表格思路:
Excel表格,则使用rand函数,在A1:K100里,产生0~5六个数。
然后,猜仿段用countif函数统计。
我很懒。不写实际东东了……
不知道你做这个是在什么地方用,其实做到非常的简单.但是讲起来比较麻烦,还需要你有一定的基础,你需要耐心的看下去.C语言的随机数产生可以通过random函数得到,设x=random() 那么x就是一个(0,1)的随机变量。
再设一个变量 p4 表示 4 出现的概率
初始化时可以令 p4=1/4
程序结构大致如此
a[]为结果序列
for (循环体根据你需要的数的长度得到)
{
x=random()//得到一个随机数
若 0<x<p4 a[i]=4
若 p4<x<p4+(1-p4)/3a[i]=3
若 p4+(1-p4)/3<x<p4+2*(1-p4)/3a[i]=2
若 p4+2*(1-p4)/3<x<p4+3*(1-p4)/3a[i]=1
if (a[i]=4) { p4=0count=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.h"
#include "conio.h"
# include "dos.h"
main()
{
int N,i,a[100],count
float p4,x,dp
struct time stime
unsigned seed
gettime(&stime)
seed=stime.ti_hund*stime.ti_min*stime.ti_hour
srand(seed)
N=100
p4=0.25
count=17
for(i=0i<则扒蚂Ni++)
{
x=rand()
x=x/32768
dp=(1-p4)/3
if (x>=0 &&x<=p4) a[i]=4
if (x>p4 &&x<=p4+dp) a[i]=3
if (x>p4+dp &&x<=p4+2*dp) a[i]=2
if (x>p4+2*dp &&x<=p4+3*dp) a[i]=1
if (a[i]==4){p4=0count=0}
count=count+1
if( count>16) {p4=(count-16)p4=p4/4}
printf("%d ",a[i])
}
getch()
}
srand(seed)根据系统时间初始化随机,不然就会出现每次运行出相同的结果
上面是根据思路设计的C程序,结果可以调出来,
程序的运行结果生成一百个随机数,是 16 个间隔以内肯定只有一个4,20个间隔以内又必有两个4
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)