为什么用时间做种子,随机数还是一样的?0

//用蒙特卡罗算法来估算回溯法的效率//蒙特卡罗算法的思想:如果根节点有m0个儿子结点满足约束条件,在第一层就有//m0个满足条件的节点,在这m0个节点中随机选择一个结点,例如X1,用... //用蒙特卡罗算法来估算回溯法的效率

//蒙特卡罗算法的思想:如果根节点有m0个儿子结点满足约束条件,在第一层就有

//m0个满足条件的节点,在这m0个节点中随机选择一个结点,例如X1,用约束方程检测X1的所有儿子结点

//测算出满足约束条件的儿子结点个数为m1个。这样第二层总共有m0*m1个结点满足约束条件

//一般地,在第i层总共就有m0*m1*m2*……*mi个结点满足约束条件。因此满足约束条件的结点总个数

//m=1+(m0*m1)+(m0*m1*m2)+……+(m0*m1*m2*……mn)个

#include

#include

#include

#include

#include

bool place(int k,int x[])//n后问题中判断某个皇后的位置是否和前面的发生攻击

{

int i;

for(i=1;i

if(x[i]==x[k]||abs(x[i]-x[k])==abs(i-k))

return 0;

return 1;

}

int choose(int **p,int num,int k)//随机选择一个合适的结点,继续往下搜索

{

int b;

srand((unsigned)time(NULL)); //生成随机数下标来随机取得数组中的一个元素

b=rand()%num+1;

cout<

return p[k][b];

}

int estimate(int n) //用蒙特卡罗算法来估算回溯法的效率

{

int m=0,r=1,k;

int *num=new int[n+1];

int *x=new int[n+1];

int **p;

p=new int*[n+1];

for(int i=0;i

p[i]=new int [n+1];

for(k=1;k<=n;k++)

{

num[k]=0;

for(int i=1;i<=n;i++)

if(place(i,x))

{

num[k]++; //统计有多少个儿子结点满足约束条件

p[k][num[k]]=i;

}

if(num[k]==0)

return m;

r=r*num[k];

m=m+r;

x[k]=choose(p,num[k],k);//随机选择一个结点继续往下搜索

}

return m;

}

void main()

{

int num1=0,num=0;

int n;

cout<

cin>>n;

for(int i=0;i<=8;i++) //用八条路径来测试平均结点个数

{

num1+=estimate(n);

}

num=num1/8;

cout<

}

放在main里面还是不行啊,那些数还是非常有规律的 展开

c语言 以时间做种子的随机数,为什么用时间做种子,随机数还是一样的?相关推荐

  1. c语言如何初始化随机数种子,关于随机数函数rand和其种子初始化

    原文链接 随机数.随机数种子 在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器. 有关如何产生随机数的理论有 ...

  2. c语言随机坐标函数,c语言随机数生成函数和时间函数

    c语言随机数生成函数和时间函数 c语言随机数生成函数和时间函数是如何生成的呢?小编为大家揭秘来了.更多内容请关注应届毕业生考试网! 一 随机数生成函数(rand,srand) 1)首先,随机数在std ...

  3. C语言随机数rand用法,【转载】随机数的产生 c语言rand的用法

    式子如下 : rand = rand*const_1 + c_var; srand函数就是给它的第一个rand值. 用"int x = rand() % 100;"来生成 0 到 ...

  4. 【Android】最近做的一个Android平台下时间统计工具

    最近在完成实验室的项目之后花了一点时间弄了一个小应用.因为自己也算是手机重度手机依赖患者,平时虽然玩手机时间不长,但是很频繁,所以一直想要知道自己每天打开手机多少次,用了哪些应用,以及每个应用花了多少 ...

  5. 我做PM(项目经理)这段时间...

    做项目管理系统PM这段时间,每天都很忙,也没有太多的时间总结自己的所思所想,今天顺便整理一下最近的感悟. 1.招标之前所有需要做的工作以及公司的要求都要有个大概的认识,不能偏差太大,太大不容易控制.( ...

  6. c语言rand生成1 100随机数,c语言生成1~100随机数

    C语言如何srand和rand函数产生10个1-100内的随机数 10个是任意的,也可能是100个,1-100也是任意的...CSS布局HTML小编今天和大家分享解,详细的有追加 需要准备的材料分别有 ...

  7. R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值、R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的不同标记物情况下对应的AUC曲线、并进行对比

    R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值.R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的不同标记物情况下对应的AUC曲线.并进行对比 目录

  8. R语言ggplot2可视化时间序列数据:ggplot2可视化在时间轴上添加按月的箱图(boxplot)

    R语言ggplot2可视化时间序列数据:ggplot2可视化在时间轴上添加按月的箱图(boxplot) 目录

  9. R语言ggplot2可视化时间序列数据并突出标注重要时间点数据实战:特殊节点标签标注、特殊区域标注

    R语言ggplot2可视化时间序列数据并突出标注重要时间点数据实战:特殊节点标签标注.特殊区域标注 目录

  10. c语言调用系统当前时间的函数,c语言获取系统当前时间的函数,求讲解?

    1.C语言中读取系统时间的函数为time(),其函数原型为: #include time_t time( time_t * ) ; time_t就是long,函数返回从1970年1月1日(MFC是18 ...

最新文章

  1. 炸了!一口气问了我18个JVM问题!
  2. 《UNIX环境高级编程(第3版)》——1.7 出错处理
  3. VMware vCenter Converter Standlone迁移手册
  4. [BUUCTF-pwn]——picoctf_2018_can_you_gets_me
  5. logo、展板、彩页、手提袋总结
  6. tomcat限制用域名访问 禁止 ip访问
  7. 小程序添加和删除新元素功能实例
  8. Win11鼠标动不了如何恢复?Win11鼠标动不了恢复的方法
  9. 计算机二级题库office基础知识,计算机二级office题库
  10. 百度+京东+美团Java面经合集
  11. JT/T 808-2013 道路运输车辆卫星定位系统北斗兼容车载终端通讯协议技术规范
  12. 讲几个问题,区块链底层架构
  13. 易天光模块的兼容性验证及交换机型号介绍
  14. cocos2dx3.2开发 RPG《Flighting》(五)只能行走的战斗场景
  15. PMI-ACP敏捷认证练习题(五)英文版
  16. 【echarts 中国地图增加南海九段线】
  17. 内网渗透系列:内网信息搜集方法小结2
  18. qq空间非主流男横幅
  19. 沃达丰:2017物联网市场晴雨表(附下载)
  20. ssh mysql 电子商城_电子商城系统的设计与实现(SSH,MySQL)(含录像)

热门文章

  1. 前端代码规范——CSS代码规范
  2. 微信公众号js-sdk定位 获取经纬度和详细位置
  3. P1258 小车问题
  4. 网页小技巧-360doc个人图书馆复制文字
  5. gpu运行pycharm
  6. STM32之中断的使用
  7. jquery 编码解码
  8. dex分包方案概述与multidex包的配置使用
  9. 顶会竞赛最后5天被Facebook超越,又大比分反超夺冠是什么体验?
  10. soap-ws 获取wsdl中所有方法 (一)