主题:如何对一组数两两随机配对?
wesky
[专家分:40] 发布于 2010-09-13 23:17:00
有一组数1,2,3。。。。。100。请问如何对这组数进行随机两两配对相加?
回复列表 (共4个回复)
沙发
asymptotic [专家分:16630] 发布于 2010-09-14 07:29:00
两两配对 的 含义 是什么?
板凳
jstzhurj [专家分:4680] 发布于 2010-09-14 09:15:00
对数组下标随机抽取呗。
3 楼
jstzhurj [专家分:4680] 发布于 2010-09-14 12:18:00
program main
implicit none
integer:: i,j,n,max
parameter (max=100)
integer,dimension(max)::a,b
real:: x
do i=1,max
a(i) = i
enddo
call random_seed ()
call random_number (x)
n=1
b(n)=nint((max-1)*x+1)
do while(n<max)
call random_number (x)
do j=1,n
if (nint((max-1)*x+1)==b(j)) then
exit
else if (j==n) then
n=n+1
b(n)=nint((max-1)*x+1)
if(mod(n,2)==0) write(*,*) n/2,'-->',a(b(n)),'+',a(b(n-1)),'=',a(b(n))+a(b(n-1))
endif
enddo
enddo
end program
试试这段程序,是不是满足你的要求?
4 楼
wesky [专家分:40] 发布于 2010-09-20 11:09:00
谢谢。
我来回复