醉酒的人走路 java编程
一个醉汉在漫无目的地行走,开始他从一个灯柱出发,每走一步他都会忘记现在的位置,随机选择一个方向再走一步,分别以四分之一的概率选择东南西北。在走N布后他会离灯柱有多远?
a.编写RandomWalker.java程序,从命令行读入参数N,并模拟醉汉随机走N步。每走一步后输出醉汉所在坐标,以起始的灯柱作为(0, 0)。并在最后输出与出发地距离的平方。
运行示例:
> java RandomWalker 10
(0, -1)
(0, 0)
(0, 1)
(0, 2)
(-1, 2)
(-2, 2)
(-2, 1)
(-1, 1)
(-2, 1)
(-3, 1)
squared distance = 10
> java RandomWalker 20
(0, 1)
(-1, 1)
(-1, 2)
(0, 2)
(1, 2)
(1, 3)
(0, 3)
(-1, 3)
(-2, 3)
(-3, 3)
(-3, 2)
(-4, 2)
(-4, 1)
(-3, 1)
(-3, 0)
(-4, 0)
(-4, -1)
(-3, -1)
(-3, -2)
(-3, -3)
squared distance = 18
b.编写RandomWalkers.java程序,从命令行读入参数N和T,表示共进行T次试验,每次试验模拟随机走N步,并计算距离的平方。输出距离平方的平均值。
运行示例:
> java RandomWalkers 100 100000
mean squared distance = 100.15086
> java RandomWalkers 100 100000
mean squared distance = 99.95274
> java RandomWalkers 200 100000
mean squared distance = 199.57664
> java RandomWalkers 400 100000
mean squared distance = 401.22024
> java RandomWalkers 800 100000
mean squared distance = 797.5106
> java RandomWalkers 1600 100000
mean squared distance = 1600.13064
作业帮用户2017-05-22举报