jukaukor

AmicablePairsReadSumsFromDisk.f95

Apr 24th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. program amicable_pairs_sumsfromfile
  2. ! Juhani Kaukoranta 24.4.2020
  3. ! Lukee kokonaislukujen summataulukon levyltä
  4. ! ja laskee sen avulla ystäväparit
  5. implicit none
  6. integer, dimension(40000000) :: divsum
  7. integer :: m, n, i, j, maxn, nro
  8. real :: t0, t1
  9. n = 40000000
  10. m = n / 4
  11. call cpu_time(t0)
  12. open (10, file ='summat.dat')
  13. do i = 1, n
  14. read (10,*) divsum(i)
  15. end do
  16. close(10)
  17. call cpu_time(t1)
  18. write (*,*) "summataulukon lukeminen ",t1-t0," sekuntia"
  19. maxn = maxval(divsum)
  20. write (*,*) "n = ",n
  21. write (*,*) "m = ",m
  22. write (*,*) "maksimisumma = ",maxn
  23. write (*,*) "Ystäväparit, jotka ovat pienempiä kuin ",m
  24. call cpu_time(t0)
  25. nro = 0
  26. do i = 1, m
  27. j = divsum(i)
  28. if (i < j .and. i == divsum(j)) then
  29. nro = nro+1
  30. write (*,*) nro,": ", i, " ",divsum(i)
  31. end if
  32. end do
  33. call cpu_time(t1)
  34. write (*,*) "amicable pairs laskemisaika ",t1-t0," sekuntia"
  35.  
  36. end program amicable_pairs_sumsfromfile
Advertisement
Add Comment
Please, Sign In to add comment