数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
楼主: nihaoya

关于一只蚂蚁的数学难题 [ZT]

[复制链接]
发表于 2005-9-13 16:08:21 | 显示全部楼层
三米
发表于 2005-9-15 19:16:23 | 显示全部楼层
大哥,怎么做
发表于 2005-10-3 07:46:01 | 显示全部楼层
先记下来  机器模拟一下再回来  [em05]
发表于 2005-10-3 08:40:30 | 显示全部楼层
<>在半径为1.5,一步走1的时候结果是3.528左右,还是比较稳定,大概正负0.003,其他参数的时候没算</P>
<>这段程序可以近似模拟,如有错误欢迎指正<IMG src="http://www.shumo.com/bbs/Skins/Default/emot/em20.gif"></P>
<>#include&lt;iostream&gt;<br>#include&lt;cstdlib&gt;<br>#include&lt;ctime&gt;<br>#include&lt;cmath&gt;<br>using namespace std;<br>bool IsOut(const double x,const double y);<br>const double R=1.5;<br>const double step=1;<br>const long MAX=10000000;<br>void main()<br>{<br>double x=0;         //初始位置<br>double y=0;<br>double new_x;<br>double new_y;<br>double alpha;<br>double count=0;<br>srand(time(0));<br>for(int i=0;i&lt;MAX;i++)<br>{<br>  <br>  for(;;)<br>  {<br>   if(!IsOut(x,y))<br>   {<br>    alpha=(double(rand())/RAND_MAX)*361;<br>    new_x=step*cos(alpha)+x;<br>    new_y=step*sin(alpha)+y;<br>    x=new_x;<br>    y=new_y;<br>    count++;<br>   }<br>   else<br>    break;<br>  }<br>  x=0;<br>  y=0;<br>}<br>cout&lt;&lt;"平均需要走"&lt;&lt;count/MAX&lt;&lt;"步"&lt;&lt;endl;<br>}<br>bool IsOut(const double x,const double y)<br>{<br>if((x*x+y*y)&lt;=R*R)<br>  return false;<br>else<br>  return true;<br>}</P>[em20][em20]
[此贴子已经被作者于2005-10-3 12:29:32编辑过]

发表于 2005-10-3 08:42:12 | 显示全部楼层
上面是求的平均值   取整数就是4
[此贴子已经被作者于2005-10-3 12:29:58编辑过]

发表于 2005-10-3 19:44:42 | 显示全部楼层
难[em06][em06][em06][em06]!!!
发表于 2005-10-10 04:51:06 | 显示全部楼层
至少多过3个钟,但是没有规律走,麻烦
发表于 2005-10-17 04:31:29 | 显示全部楼层
<>可以走成正六边形,这个时候永远也走不出去。</P>
<>很多时候走不出去。</P>
发表于 2005-12-11 21:17:01 | 显示全部楼层
有难度![em06]
发表于 2006-1-16 00:41:43 | 显示全部楼层
收录中.......
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-4-19 11:44 , Processed in 0.052993 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表