Calculating number Pi digits in C

  • Thread starter AliGh
  • Start date
  • Tags
    Pi
In summary, there are many different methods for calculating π, but the "best" method for you depends on what you are looking for.
  • #1
AliGh
64
1
Hi
I was thinking about calculating Pi digits (for example up to 1000) using C programming
Unfortunately there seems to be no one in our university to know how (even teachers)
I know that i have to use arrays but i don't know how
And i don't know what is the best way to do it ?
-4 times the integration of (1-x^2)^(1/2) for 0 to 1
- Leibniz's series
-Wallis's series
- or ...
 
Technology news on Phys.org
  • #2
  • Like
Likes Dr. Courtney and Silicon Waffle
  • #4
Integrand said:
Check out https://en.wikipedia.org/wiki/Bailey–Borwein–Plouffe_formula

There are very many methods available. What qualifies as "best" for you?

Incidentally, that no teachers in your university know how to calculate digits of pi seems a little implausible, don't you think? :)

No , the teacher connected his laptop to projector while he was teaching C his typing speed wasn't much different of a beginner ... I think he was two-finger typing
Still seems implausible ? FYI I am from iran.
 
  • Like
Likes aikismos
  • #5
What does typing speed have to do with knowing how to find the digits of pi? And the question was about all the teachers at your school so why refer to just one?
 
  • Like
Likes DrClaude and Silicon Waffle
  • #6
HallsofIvy said:
What does typing speed have to do with knowing how to find the digits of pi? And the question was about all the teachers at your school so why refer to just one?
This is university ... The teacher (or should i call university teachers professor ?) got his degree from the best university in Iran .. it shows that he doesn't have much experience ... Just ask him intermediate questions and he can't answer more than half of them
I asked fifth semester students they couldn't
 
  • #7
AliGh said:
This is university ... The teacher (or should i call university teachers professor ?) got his degree from the best university in Iran .. it shows that he doesn't have much experience ... Just ask him intermediate questions and he can't answer more than half of them
I asked fifth semester students they couldn't
Perhaps this is a language problem- you did not respond to either of my questions.
 
  • #8
I think we should stick to the topic of the thread, discussing numerical methods to calculate π.
 
  • #9
HallsofIvy said:
What does typing speed have to do with knowing how to find the digits of pi? And the question was about all the teachers at your school so why refer to just one?
First that typing faster means you had more experience coding (and you wrote a bigger variety of programs) but this one is way beyond slow
Second that I'm first semester i don't know any other teachers and they won't answer unless they know me
 
  • #10
Integrand said:
Check out https://en.wikipedia.org/wiki/Bailey–Borwein–Plouffe_formula

There are very many methods available. What qualifies as "best" for you?

Incidentally, that no teachers in your university know how to calculate digits of pi seems a little implausible, don't you think? :)
How is that formula can calculate Nth digit of Pi i don't get it
 
  • #11
To get the N't hexadecimal digit you still need to sum n terms (and a few more to prevent roundoff errors), but it's easy to get the nth hexadecimal digit of a single term. The factors of 1/16 will only shift the term 1 digit to the right, the numbers like 4/(8k+1) are rational numbers with a repeating hexadecimal expansion.
You only need to calculate the digits N through N+20 or so from all the terms to produce the Nth digit of the sum. For the billionth digit you still need to sum a billion terms, but the calculations involve only numbers of 20 digits.
 
  • #12
willem2 said:
To get the N't hexadecimal digit you still need to sum n terms (and a few more to prevent roundoff errors), but it's easy to get the nth hexadecimal digit of a single term. The factors of 1/16 will only shift the term 1 digit to the right, the numbers like 4/(8k+1) are rational numbers with a repeating hexadecimal expansion.
You only need to calculate the digits N through N+20 or so from all the terms to produce the Nth digit of the sum. For the billionth digit you still need to sum a billion terms, but the calculations involve only numbers of 20 digits.
Sorry still confused .. can you write algorithm ?
 
  • #13
What you need is much more complicated than an algorithm (I can direct you to several). You need a way to represent multi-digit numbers with associated arithmetic operations in a consistent way. Fortunately, somebody else has seen the need and created the appropriate definitions and libraries - see http://mpir.org/.
 
  • #14
Svein said:
What you need is much more complicated than an algorithm (I can direct you to several). You need a way to represent multi-digit numbers with associated arithmetic operations in a consistent way. Fortunately, somebody else has seen the need and created the appropriate definitions and libraries - see http://mpir.org/.
What i actually need is way to deal with the fact that i can't work with great numbers in C i don't know what the problem is
The Leibniz's series i said up there , is a summation . I couldn't calculate it because double variable types had limited digits ... i tried multiplying by 10^n and result%10 so that i could get nth digit but it didn't work ...
Is there any possibility that i can use arrays to solve the problem ? or it takes too much memory ?
Or any not very complicated way that i can at least understand ?
 
  • #16
AliGh said:
What i actually need is way to deal with the fact that i can't work with great numbers in C i don't know what the problem is
Follow the link! Those people have defined numbers with more than a million digits - the record for π is more than 13 trillion digits (see https://en.wikipedia.org/wiki/Approximations_of_π).
 

FAQ: Calculating number Pi digits in C

What is the significance of calculating the digits of Pi in C?

The calculation of Pi in C is important for various fields of science and engineering, such as physics, mathematics, and computer science. It allows for more accurate calculations and simulations, and also helps in understanding the patterns and properties of this irrational number.

How is the calculation of Pi done in C?

The calculation of Pi in C is typically done using numerical methods, such as the Monte Carlo method or the Chudnovsky algorithm. These methods involve using an iterative process to approximate the value of Pi to a desired number of digits. C is a popular language for this task due to its speed and efficiency.

What is the current record for the most number of Pi digits calculated in C?

As of 2021, the current record for the most number of Pi digits calculated in C is 31.4 trillion digits, achieved by Timothy Mullican using the Chudnovsky algorithm. This record is constantly being broken as computing power and algorithms continue to improve.

Why is Pi considered an irrational number?

Pi is considered an irrational number because it cannot be expressed as a simple fraction and its decimal representation never ends or repeats in a pattern. This makes it impossible to calculate the exact value of Pi, and the digits continue infinitely without any predictable pattern.

What practical applications does the calculation of Pi have in real life?

The calculation of Pi has many practical applications in real life, such as in the design of buildings and bridges, GPS systems, and algorithms for data compression. It is also used in various scientific and engineering calculations, such as in fluid dynamics and cosmology.

Similar threads

Replies
1
Views
1K
Replies
5
Views
2K
Replies
22
Views
2K
Replies
4
Views
2K
Replies
10
Views
2K
Replies
3
Views
1K
Replies
9
Views
3K
Back
Top