Digits Of E
June 19, 2012
|
modulus |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
|
|
2 |
initialization |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
times ten |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
|
carry |
4 |
3 |
2 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
sum |
14 |
13 |
12 |
11 |
11 |
11 |
11 |
11 |
10 |
10 |
7 |
quotient |
7 |
4 |
3 |
2 |
1 |
1 |
1 |
1 |
1 |
0 |
|
remainder |
0 |
1 |
0 |
1 |
5 |
4 |
3 |
2 |
0 |
10 |
|
|
|
times ten |
0 |
10 |
0 |
10 |
50 |
40 |
30 |
20 |
0 |
100 |
|
carry |
3 |
0 |
3 |
9 |
6 |
4 |
2 |
0 |
9 |
|
|
sum |
3 |
10 |
3 |
19 |
56 |
44 |
32 |
20 |
9 |
100 |
1 |
quotient |
1 |
3 |
0 |
3 |
9 |
6 |
4 |
2 |
0 |
9 |
|
remainder |
1 |
1 |
3 |
4 |
2 |
2 |
0 |
2 |
9 |
1 |
|
|
|
times ten |
10 |
10 |
30 |
40 |
20 |
20 |
0 |
20 |
90 |
10 |
|
carry |
6 |
9 |
8 |
3 |
2 |
0 |
3 |
9 |
0 |
|
|
sum |
16 |
19 |
38 |
43 |
22 |
20 |
3 |
29 |
90 |
10 |
8 |
quotient |
8 |
6 |
9 |
8 |
3 |
2 |
0 |
3 |
9 |
0 |
|
remainder |
0 |
1 |
2 |
3 |
4 |
6 |
3 |
2 |
0 |
10 |
|
|
|
times ten |
0 |
10 |
20 |
30 |
40 |
60 |
30 |
20 |
0 |
100 |
|
carry |
5 |
6 |
7 |
8 |
9 |
4 |
2 |
0 |
9 |
|
|
sum |
5 |
16 |
27 |
38 |
49 |
64 |
32 |
20 |
9 |
100 |
2 |
quotient |
2 |
5 |
6 |
7 |
8 |
9 |
4 |
2 |
0 |
9 |
|
remainder |
1 |
1 |
3 |
3 |
1 |
1 |
0 |
2 |
9 |
1 |
|
|
|
times ten |
10 |
10 |
30 |
30 |
10 |
10 |
0 |
20 |
90 |
10 |
|
carry |
6 |
9 |
6 |
1 |
1 |
0 |
3 |
9 |
0 |
|
|
sum |
16 |
19 |
36 |
31 |
11 |
10 |
3 |
29 |
90 |
10 |
8 |
quotient |
8 |
6 |
9 |
6 |
1 |
1 |
0 |
3 |
9 |
0 |
|
remainder |
0 |
1 |
0 |
1 |
5 |
3 |
3 |
2 |
0 |
10 |
|
|
|
times ten |
0 |
10 |
0 |
10 |
50 |
30 |
30 |
20 |
0 |
100 |
|
carry |
3 |
0 |
3 |
9 |
4 |
4 |
2 |
0 |
9 |
|
|
sum |
3 |
10 |
3 |
19 |
54 |
34 |
32 |
20 |
9 |
100 |
1 |
quotient |
1 |
3 |
0 |
3 |
9 |
4 |
4 |
2 |
0 |
9 |
|
remainder |
1 |
1 |
3 |
4 |
0 |
6 |
0 |
2 |
9 |
1 |
|
|
|
times ten |
10 |
10 |
30 |
40 |
0 |
60 |
0 |
20 |
90 |
10 |
|
carry |
6 |
9 |
8 |
1 |
8 |
0 |
3 |
9 |
0 |
|
|
sum |
16 |
19 |
38 |
41 |
8 |
60 |
3 |
29 |
90 |
10 |
8 |
quotient |
8 |
6 |
9 |
8 |
1 |
8 |
0 |
3 |
9 |
0 |
|
remainder |
0 |
1 |
2 |
1 |
2 |
4 |
3 |
2 |
0 |
10 |
|
|
|
times ten |
0 |
10 |
20 |
10 |
20 |
40 |
30 |
20 |
0 |
100 |
|
carry |
5 |
5 |
2 |
4 |
6 |
4 |
2 |
0 |
9 |
|
|
sum |
5 |
15 |
22 |
14 |
26 |
44 |
32 |
20 |
9 |
100 |
2 |
quotient |
2 |
5 |
5 |
2 |
4 |
6 |
4 |
2 |
0 |
9 |
|
remainder |
1 |
0 |
2 |
4 |
2 |
2 |
0 |
2 |
9 |
1 |
|
|
|
times ten |
10 |
0 |
20 |
40 |
20 |
20 |
0 |
20 |
90 |
10 |
|
carry |
2 |
7 |
8 |
3 |
2 |
0 |
3 |
9 |
0 |
|
|
sum |
12 |
7 |
28 |
43 |
22 |
20 |
3 |
29 |
90 |
10 |
6 |
quotient |
6 |
2 |
7 |
8 |
3 |
2 |
0 |
3 |
9 |
0 |
|
remainder |
0 |
1 |
0 |
3 |
4 |
6 |
3 |
2 |
0 |
10 |
Like this:
Like Loading...
Related
Pages: 1 2 3
Posted by programmingpraxis
[…] today’s Programming Praxis exercise, our goal is to implement two algorithms to calculate the digits of e […]
Here’s my Haskell solution for the first algorithm (since my solution for the second one has already been posted in the exercise). A version with comments can be found at http://bonsaicode.wordpress.com/2012/06/19/programming-praxis-digits-of-e/ .
[…] First we reuse the unbounded spigot algorithm for calculating e from the last exercise; […]
Does anybody share a Java or C# code for this exercises?
Basically a direct translation of the haskell code into Python 2.7. I create the input stream and initialize the state vector (z) in ‘stream()’ and eliminated ‘streamDigits()’.
Here is FORTH code for the first algorithm (by Stan & Stanley) Though space is proportional to n, not sure why you mention n**2.
Hi Mike, when I tried your code it gave me error can’t iterate on a function, fixed the problem by changing the last two lines to
print ”.join(str(d) for d in islice(pi_digits(), 10))
print ”.join(imap(str, islice(e_digits(), 14)))
in other words replacing the function pi_digits with pi_digits() which invokes the function and returns an array, similarly replacin e_digits with e_digits()