Hi all,

I’m new to Julia and am learning the ropes thanks to the MIT course and books like Think Julia. I’m working through a few simple problems to start with, and wanted some help with this one.

Implementing Ramanujan’s approximation for pi - it is essentially a serial computation that I’ve implemented using a loop in Julia. This approach returns Inf / 0.0 when I exceed max_k = 5.

Can someone help me with why it doesn’t work for cases where max_k > 5?

1 Like

Try looking at the results of the `fact`

function as you increase `n`

. You will see that something goes wrong.

This is due to the fact that standard Julia integers (`Int64`

) have a maximum possible size that they can store. A solution to this is to use `BigInt`

instead.

A better solution is to rewrite your code (if possible) so that you don’t actually need to compute the whole factorial.

7 Likes

Thanks, I did look through the fact() function and I have changed the types there and elsewhere to BigInt. It helped me push the thing to max_k = 5.

However, I realized that the results for this series converge very close to what we know to be pi even with k=3. Therefore going to k>5 may be unnecessary - but I’m still reading up on this.

Thanks for helping me with this question!