Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- BASE=4
- RES=0
- RES_OLD=0
- PREC_DEF=200000 # number of iterations with identical results bofore exiting
- X=2
- if [ -n "${1##*[!0-9]*}" ] && [ $1 -le 18 ]; then
- DIGIT=$1
- else
- DIGIT=18
- fi
- while [ $((DIGIT=$DIGIT-1)) -ge 0 ]; do
- BASE=$(($BASE*10))
- done
- PREC=$PREC_DEF
- while [ $PREC -ge 0 ]; do
- RES=$(($RES+($BASE/($X*$((X=$X+1))*$((X=$X+1))))-($BASE/($X*$((X=$X+1))*$((X=$X+1))))))
- if [ $RES_OLD -eq $RES ]; then
- PREC=$(($PREC-1))
- else
- ITERATION=$(($ITERATION+1))
- RES_OLD=$RES
- PREC=$PREC_DEF
- fi
- printf "\r3.$RES"
- done
- printf "\nUsed iterations: $ITERATION\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement