Pi: Difference between revisions
Content added Content deleted
m (→{{header|Quackery}}: made values immovable) |
m (Removed useless "import strutils" and useless variable "dd". Restructured some expressions.) |
||
Line 3,586: | Line 3,586: | ||
=={{header|Nim}}== |
=={{header|Nim}}== |
||
{{libheader|bigints}} |
{{libheader|bigints}} |
||
<lang nim>import |
<lang nim>import bigints |
||
var |
var |
||
tmp1, tmp2, tmp3, acc, k |
tmp1, tmp2, tmp3, acc, k = initBigInt(0) |
||
den, num, k2 = initBigInt(1) |
den, num, k2 = initBigInt(1) |
||
Line 3,596: | Line 3,596: | ||
return -1 |
return -1 |
||
tmp3 = num shl 1 |
tmp3 = num shl 1 + num + acc |
||
tmp3 += num |
|||
tmp3 += acc |
|||
tmp2 = tmp3 mod den |
|||
tmp1 = tmp3 div den |
tmp1 = tmp3 div den |
||
tmp2 |
tmp2 = tmp3 mod den + num |
||
if tmp2 >= den: |
if tmp2 >= den: |
||
Line 3,616: | Line 3,613: | ||
k += 1 |
k += 1 |
||
k2 += 2 |
k2 += 2 |
||
acc += num shl 1 |
|||
acc += tmp1 |
|||
acc *= k2 |
acc *= k2 |
||
den *= k2 |
den *= k2 |
||
Line 3,636: | Line 3,632: | ||
i = 0 |
i = 0 |
||
eliminateDigit d</lang> |
eliminateDigit d</lang> |
||
Output: |
|||
{{out}} |
|||
<pre>3141592653589793238462643383279502884197 |
<pre>3141592653589793238462643383279502884197 |
||
1693993751058209749445923078164062862089 |
1693993751058209749445923078164062862089 |