est_nwx2.f90
Go to the documentation of this file.00001 integer function algn235(inr)
00002 implicit none
00003 integer,intent(in):: inr
00004 integer:: nr,m2,m3,m5,info
00005 nr=inr
00006 call fctck(nr,m2,m3,m5,info)
00007 do while (info .eq. 1)
00008 nr = nr + 1
00009 call fctck(nr,m2,m3,m5,info)
00010 end do
00011 algn235 = nr
00012 return
00013 end function algn235
00014
00015 subroutine fctck(n,m2,m3,m5,info)
00016 implicit none
00017 integer,intent(in):: n
00018 integer,intent(out):: m2, m3, m5, info
00019 integer:: i
00020 i=n
00021 m2 = 0
00022 m3 = 0
00023 m5 = 0
00024 info = 0
00025 do while (i .ne. 1)
00026 if (mod(i,2) .eq. 0) then
00027 m2 = m2 + 1
00028 i = i / 2
00029 else if (mod(i,3) .eq. 0) then
00030 m3 = m3 + 1
00031 i = i / 3
00032 else if (mod(i,5) .eq. 0) then
00033 m5 = m5 + 1
00034 i = i / 5
00035 else
00036 info = 1
00037 exit
00038 end if
00039 end do
00040 return
00041 end subroutine fctck
00042