Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # calculates Neper's constant e=2.71828.. in different bases
- # approximation for m!,increasing m from on an
- # Stirling: ln(n!) = 0.5*ln(2Οn) + n(ln(n)-1)
- # initial value of 4 until m! > 10^(n+1)
- # ln(10) = 2.302585092994046, ln(2pi)=ln(6.283185307179586)
- # Eulerin luvun e desimaalit ( n kpl)
- # Juhani Kaukoranta 13.2.2022
- function neper(n,b)
- # n digits, b base
- nro="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- cunei =["π²", "πΉ", "π«", "π", "π", "π", "π", "π", "π", "π", "π", "ππΉ", "ππ«", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "πππΉ", "πππ«", "πππ", "πππ", "πππ", "πππ", "πππ", "πππ", "πππ", "π", "ππΉ", "ππ«", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "π", "ππΉ", "ππ«", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "π", "ππΉ", "ππ«", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ", "ππ"]
- number = "" # numerot 10-jΓ€rjestelmΓ€ssΓ€
- print("base ",b," : ",)
- m = 5 # laskentatermien mÀÀrÀ
- test = (n+1)*2.302585092994046
- while m*(log(m)-1.0) + 0.5*log(6.283185307179586*m) <= test
- m += 1
- end
- if b == 2
- print("10.",) # eka e:n numero, kokonaisosa
- elseif b == 20
- println("Maya :")
- println(Char(119522)," (kokonaisosa)")
- elseif b == 60
- print("Babylonian :")
- print(cunei[3],". ") # eka e:n numero, kokonaisosa
- else
- print("2.",) # eka e:n numero, kokonaisosa
- end
- coef = fill(1,m) # array coef contains only 1
- for i in 1:n
- carry = 0
- for j in reverse(2:m)
- temp = coef[j]*b + carry # in base:bin 2,oct 8,dec 10,hex 16
- carry = div(temp,j)
- coef[j] = temp - carry*j
- end # of digit generation
- number = number*string(carry)*" "
- if b==20 # MAYA numeral symbols
- println(Char(119520+carry)) # symbolit alekkain
- elseif b == 60 # Babylonian
- print(cunei[carry+1]," ",) # symbolit perΓ€kkΓ€in
- else
- print(nro[carry+1],) # symbolit perΓ€kkΓ€in
- end
- end
- println()
- if !(b==10)
- println(b,"-jΓ€rjestelmΓ€n e:n numerot esitettynΓ€ 10-jΓ€rjestelmΓ€ssΓ€:")
- println("2. ",number)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement