|
程式檔案txt檔:(我用.f跑)
mam.txt
(13.07 KB, 下载次数: 1)
程式內容:[Fortran] 纯文本查看 复制代码 002 | integer Z , h ( 3000 , 3000 ) , L , t , ix , iy , an ( 3000 , 3000 ) , a , n , na , aa |
003 | integer ax 1 , ay 1 , ah 1 ( 3000 , 3000 ) , ax 2 , ay 2 , ah 2 ( 3000 , 3000 ) |
004 | integer ax 3 , ay 3 , ah 3 ( 3000 , 3000 ) |
005 | integer tn ( 100000 ) , tx ( 100000 ) , ty ( 100000 ) , tx 1 ( 100000 ) |
006 | integer ty 1 ( 1000000 ) , m , i , j , noapi , k , m 1 , n 1 , n 2 , n 3 , n 4 |
007 | integer a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a 10 , a 11 , a 12 , a 13 , a 14 |
008 | integer a 15 , a 16 , a 17 , a 18 |
009 | integer na 1 , na 2 , na 3 , na 4 , na 5 , na 6 , na 7 , na 8 , na 9 , na 10 , na 11 |
010 | integer na 12 , na 13 , na 14 , na 15 , na 16 , na 17 , na 18 , na 19 , na 20 |
011 | integer na 21 , na 22 , na 23 |
012 | call CPU_time ( time_begin ) |
032 | ah 1 ( ax 1 , ay 1 ) = h ( ix , iy ) |
053 | if ( h ( ix , iy ) .le. Z .and. mmx .eq. 1 ) then |
058 | if ( h ( ix , iy ) .le. Z .and. mmx .eq. 0 ) then |
063 | ah 2 ( ax 2 , ay 2 ) = h ( ix , iy ) |
069 | if ( h ( ix , iy ) .gt. Z ) then |
071 | an ( ix , iy ) = an ( ix , iy ) +1 |
072 | if ( an ( ix , iy ) .eq. 1 ) then |
089 | call neighbor ( noapi , ixtmp , iytmp , kn , L , i , j , nd ) |
097 | if ( an ( i , j ) .eq. 1 ) then |
120 | if ( mmx 1 .eq. 1 .and. mmx .eq. 0 ) then |
121 | if ( aa .gt. a .and. mmx 1 .eq. 1 ) mmx 1 = 0 |
122 | if ( aa .eq. a .and. mmx 1 .eq. 1 ) then |
128 | if ( mmx 1 .eq. 0 .and. mmx .eq. 0 ) then |
133 | ah 3 ( ax 3 , ay 3 ) = h ( ix , iy ) |
144 | h ( ix , iy ) = ah 1 ( ax 1 , ay 1 ) |
155 | h ( ix , iy ) = ah 2 ( ax 2 , ay 2 ) |
161 | if ( mmx 1 .eq. 1 .and. mmx .eq. 0 ) then |
166 | h ( ix , iy ) = ah 3 ( ax 3 , ay 3 ) |
179 | if ( h ( i 1 , j 1 ) .eq. 1 ) n 1 = n 1 +1 |
180 | if ( h ( i 1 , j 1 ) .eq. 2 ) n 2 = n 2 +1 |
181 | if ( h ( i 1 , j 1 ) .eq. 3 ) n 3 = n 3 +1 |
182 | if ( h ( i 1 , j 1 ) .eq. 4 ) n 4 = n 4 +1 |
185 | if ( 2 * * ( 0 ) .le. a .and. a .lt. 2 * * ( 1 ) ) a 1 = a 1 +1 |
186 | if ( 2 * * ( 1 ) .le. a .and. a .lt. 2 * * ( 2 ) ) a 2 = a 2 +1 |
187 | if ( 2 * * ( 2 ) .le. a .and. a .lt. 2 * * ( 3 ) ) a 3 = a 3 +1 |
188 | if ( 2 * * ( 3 ) .le. a .and. a .lt. 2 * * ( 4 ) ) a 4 = a 4 +1 |
189 | if ( 2 * * ( 4 ) .le. a .and. a .lt. 2 * * ( 5 ) ) a 5 = a 5 +1 |
190 | if ( 2 * * ( 5 ) .le. a .and. a .lt. 2 * * ( 6 ) ) a 6 = a 6 +1 |
191 | if ( 2 * * ( 6 ) .le. a .and. a .lt. 2 * * ( 7 ) ) a 7 = a 7 +1 |
192 | if ( 2 * * ( 7 ) .le. a .and. a .lt. 2 * * ( 8 ) ) a 8 = a 8 +1 |
193 | if ( 2 * * ( 8 ) .le. a .and. a .lt. 2 * * ( 9 ) ) a 9 = a 9 +1 |
194 | if ( 2 * * ( 9 ) .le. a .and. a .lt. 2 * * ( 10 ) ) a 10 = a 10 +1 |
195 | if ( 2 * * ( 10 ) .le. a .and. a .lt. 2 * * ( 11 ) ) a 11 = a 11 +1 |
196 | if ( 2 * * ( 11 ) .le. a .and. a .lt. 2 * * ( 12 ) ) a 12 = a 12 +1 |
197 | if ( 2 * * ( 12 ) .le. a .and. a .lt. 2 * * ( 13 ) ) a 13 = a 13 +1 |
198 | if ( 2 * * ( 13 ) .le. a .and. a .lt. 2 * * ( 14 ) ) a 14 = a 14 +1 |
199 | if ( 2 * * ( 14 ) .le. a .and. a .lt. 2 * * ( 15 ) ) a 15 = a 15 +1 |
200 | if ( 2 * * ( 15 ) .le. a .and. a .lt. 2 * * ( 16 ) ) a 16 = a 16 +1 |
201 | if ( 2 * * ( 16 ) .le. a .and. a .lt. 2 * * ( 17 ) ) a 17 = a 17 +1 |
202 | if ( 2 * * ( 17 ) .le. a .and. a .lt. 2 * * ( 18 ) ) a 18 = a 18 +1 |
203 | if ( 2 * * ( 0 ) .le. n .and. n .lt. 2 * * ( 1 ) ) na 1 = na 1 +1 |
204 | if ( 2 * * ( 1 ) .le. n .and. n .lt. 2 * * ( 2 ) ) na 2 = na 2 +1 |
205 | if ( 2 * * ( 2 ) .le. n .and. n .lt. 2 * * ( 3 ) ) na 3 = na 3 +1 |
206 | if ( 2 * * ( 3 ) .le. n .and. n .lt. 2 * * ( 4 ) ) na 4 = na 4 +1 |
207 | if ( 2 * * ( 4 ) .le. n .and. n .lt. 2 * * ( 5 ) ) na 5 = na 5 +1 |
208 | if ( 2 * * ( 5 ) .le. n .and. n .lt. 2 * * ( 6 ) ) na 6 = na 6 +1 |
209 | if ( 2 * * ( 6 ) .le. n .and. n .lt. 2 * * ( 7 ) ) na 7 = na 7 +1 |
210 | if ( 2 * * ( 7 ) .le. n .and. n .lt. 2 * * ( 8 ) ) na 8 = na 8 +1 |
211 | if ( 2 * * ( 8 ) .le. n .and. n .lt. 2 * * ( 9 ) ) na 9 = na 9 +1 |
212 | if ( 2 * * ( 9 ) .le. n .and. n .lt. 2 * * ( 10 ) ) na 10 = na 10 +1 |
213 | if ( 2 * * ( 10 ) .le. n .and. n .lt. 2 * * ( 11 ) ) na 11 = na 11 +1 |
214 | if ( 2 * * ( 11 ) .le. n .and. n .lt. 2 * * ( 12 ) ) na 12 = na 12 +1 |
215 | if ( 2 * * ( 12 ) .le. n .and. n .lt. 2 * * ( 13 ) ) na 13 = na 13 +1 |
216 | if ( 2 * * ( 13 ) .le. n .and. n .lt. 2 * * ( 14 ) ) na 14 = na 14 +1 |
217 | if ( 2 * * ( 14 ) .le. n .and. n .lt. 2 * * ( 15 ) ) na 15 = na 15 +1 |
218 | if ( 2 * * ( 15 ) .le. n .and. n .lt. 2 * * ( 16 ) ) na 16 = na 16 +1 |
219 | if ( 2 * * ( 16 ) .le. n .and. n .lt. 2 * * ( 17 ) ) na 17 = na 17 +1 |
220 | if ( 2 * * ( 17 ) .le. n .and. n .lt. 2 * * ( 18 ) ) na 18 = na 18 +1 |
221 | if ( 2 * * ( 18 ) .le. n .and. n .lt. 2 * * ( 19 ) ) na 19 = na 19 +1 |
222 | if ( 2 * * ( 19 ) .le. n .and. n .lt. 2 * * ( 20 ) ) na 20 = na 20 +1 |
223 | if ( 2 * * ( 20 ) .le. n .and. n .lt. 2 * * ( 21 ) ) na 21 = na 21 +1 |
224 | if ( 2 * * ( 21 ) .le. n .and. n .lt. 2 * * ( 22 ) ) na 22 = na 22 +1 |
225 | if ( 2 * * ( 22 ) .le. n .and. n .lt. 2 * * ( 23 ) ) na 23 = na 23 +1 |
226 | p 1 = p 1 + real ( n 1 ) / real ( L * L ) |
227 | p 2 = p 2 + real ( n 2 ) / real ( L * L ) |
228 | p 3 = p 3 + real ( n 3 ) / real ( L * L ) |
229 | p 4 = p 4 + real ( n 4 ) / real ( L * L ) |
231 | write ( * , * ) 'n1=' , na 1 , ',' , 'a1=' , a 1 |
232 | write ( * , * ) 'n2=' , na 2 , ',' , 'a2=' , a 2 |
233 | write ( * , * ) 'n3=' , na 3 , ',' , 'a3=' , a 3 |
234 | write ( * , * ) 'n4=' , na 4 , ',' , 'a4=' , a 4 |
235 | write ( * , * ) 'n5=' , na 5 , ',' , 'a5=' , a 5 |
236 | write ( * , * ) 'n6=' , na 6 , ',' , 'a6=' , a 6 |
237 | write ( * , * ) 'n7=' , na 7 , ',' , 'a7=' , a 7 |
238 | write ( * , * ) 'n8=' , na 8 , ',' , 'a8=' , a 8 |
239 | write ( * , * ) 'n9=' , na 9 , ',' , 'a9=' , a 9 |
240 | write ( * , * ) 'n10=' , na 10 , ',' , 'a10=' , a 10 |
241 | write ( * , * ) 'n11=' , na 11 , ',' , 'a11=' , a 11 |
242 | write ( * , * ) 'n12=' , na 12 , ',' , 'a12=' , a 12 |
243 | write ( * , * ) 'n13=' , na 13 , ',' , 'a13=' , a 13 |
244 | write ( * , * ) 'n14=' , na 14 , ',' , 'a14=' , a 14 |
245 | write ( * , * ) 'n15=' , na 15 , ',' , 'a15=' , a 15 |
246 | write ( * , * ) 'n16=' , na 16 , ',' , 'a16=' , a 16 |
247 | write ( * , * ) 'n17=' , na 17 , ',' , 'a17=' , a 17 |
248 | write ( * , * ) 'n18=' , na 18 , ',' , 'a18=' , a 18 |
249 | write ( * , * ) 'n19=' , na 19 |
250 | write ( * , * ) 'n20=' , na 20 |
251 | write ( * , * ) 'n21=' , na 21 |
252 | write ( * , * ) 'n22=' , na 22 |
253 | write ( * , * ) 'n23=' , na 23 |
254 | write ( * , * ) '1的平均' , p 1 / real ( noap ) |
255 | write ( * , * ) '2的平均' , p 2 / real ( noap ) |
256 | write ( * , * ) '3的平均' , p 3 / real ( noap ) |
257 | write ( * , * ) '4的平均' , p 4 / real ( noap ) |
258 | call CPU_time ( time_end ) |
259 | write ( * , * ) 'time=' , time_end - time_begin , 's' |
265 | subroutine neighbor ( noapi , i 1 , j 1 , k , L , i , j , nd ) |
|
|