Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
20
Task/Pi/Fortran/pi-1.f
Normal file
20
Task/Pi/Fortran/pi-1.f
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
program pi
|
||||
implicit none
|
||||
integer,dimension(3350) :: vect
|
||||
integer,dimension(201) :: buffer
|
||||
integer :: more,karray,num,k,l,n
|
||||
more = 0
|
||||
vect = 2
|
||||
do n = 1,201
|
||||
karray = 0
|
||||
do l = 3350,1,-1
|
||||
num = 100000*vect(l) + karray*l
|
||||
karray = num/(2*l - 1)
|
||||
vect(l) = num - karray*(2*l - 1)
|
||||
end do
|
||||
k = karray/100000
|
||||
buffer(n) = more + k
|
||||
more = karray - k*100000
|
||||
end do
|
||||
write (*,'(i2,"."/(1x,10i5.5))') buffer
|
||||
end program pi
|
||||
48
Task/Pi/Fortran/pi-2.f
Normal file
48
Task/Pi/Fortran/pi-2.f
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
!================================================
|
||||
program pi_spigot_unbounded
|
||||
!================================================
|
||||
do
|
||||
call print_next_pi_digit()
|
||||
end do
|
||||
|
||||
contains
|
||||
|
||||
!------------------------------------------------
|
||||
subroutine print_next_pi_digit()
|
||||
!------------------------------------------------
|
||||
use fmzm
|
||||
type (im) :: q, r, t, k, n, l, nr
|
||||
logical :: dot=.false., init=.false.
|
||||
save :: q, r, t, k, n, l
|
||||
if (.not.init) then
|
||||
q=to_im(1)
|
||||
r=to_im(0)
|
||||
t=to_im(1)
|
||||
k=to_im(1)
|
||||
n=to_im(3)
|
||||
l=to_im(3)
|
||||
init=.true.
|
||||
end if
|
||||
if (4*q+r-t < n*t) then
|
||||
write(6,fmt='(i1)',advance='no') to_int(n)
|
||||
if (.not.dot) then
|
||||
write(6,fmt='(a1)',advance='no') '.'
|
||||
dot=.true.
|
||||
end if
|
||||
flush(6)
|
||||
nr = 10 * ( r - n*t )
|
||||
n = 10 * ( (3*q + r) / t - n )
|
||||
q = 10 * q
|
||||
r = nr
|
||||
else
|
||||
nr = (2*q + r) * l
|
||||
n = ( (q * (7*k + 2) + r*l) / (t*l) )
|
||||
q = q * k
|
||||
t = t * l
|
||||
l = l + 2
|
||||
k = k + 1
|
||||
r = nr
|
||||
end if
|
||||
end subroutine
|
||||
|
||||
end program
|
||||
Loading…
Add table
Add a link
Reference in a new issue