ID0577775606 发表于 2016-5-18 23:56:00

产生的随机数不随机。

产生1~100的随机数,统计结果如下,第一个区间少了一块。不知道是哪里有问题。

program random
implicit none
real :: x
integer :: up
open(7,file='randnums.txt')
call random_seed()
write(*,*) "输入随机数上限:"
read(*,*) up
do while(.true.)
    call random_number(x)
    x = floor((up-1)*x)+1
    write(7,*) x
end do
end program random





ID0577775606 发表于 2016-5-19 00:41:44

感觉应该是统计有问题,0点。。这样画的话感觉没有明显的劣势

fcode 发表于 2016-5-19 08:25:10

x = floor((up-1)*x)+1
改为
x = floor(up*x)+1
页: [1]
查看完整版本: 产生的随机数不随机。