Converted everything to orgmode
converted everything to orgmode and added solution to the README files
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
# Task
|
||||
|
||||
The number $\pi$ can be defined through various infinite sums. The accuracy increases with the number of terms. Considering the following sum, that we call sum 1:
|
||||
|
||||
$$\frac{\pi}{4} = \sum_{j=0}^{m-1} \frac{(-1)^j}{2j + 1} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + ...$$
|
||||
|
||||
Note that $m$ is the number of the terms in the sum. For example, $m=2$ refers to the sum of the terms $1$ (for $j=0$) and $-\frac{1}{3}$ (for $j=1$). This examples yields a value of $4 \cdot (1-\frac{1}{3})$ for $\pi$.
|
||||
|
||||
Write a program that computes and outputs an approximation of Pi, based on sum 1. The input for your program is the number of **terms** $m$ of sum 1 that should be considered in the calculation. The output is the approximation of $\pi$.
|
||||
|
||||
## Input
|
||||
|
||||
A number $m \geq 1$.
|
||||
|
||||
## Output
|
||||
|
||||
The approximation of $\pi$ given by $4 \sum_{j=0}^{m-1} \frac{(-1)^j}{2j + 1}$, rounded to 6 significant digits. Note that 6 significant digits is the default precision of C++ for printing floating-point values. Use a variable of type double to calculate the sum. Note that that $x^0$ is 1 (if $x \neq 0$).
|
||||
|
||||
**Important**: the use of functions from the math library (e.g., pow) is prohibited.
|
61
Informatik_I/Exercise_3/Task_4a/README.org
Normal file
61
Informatik_I/Exercise_3/Task_4a/README.org
Normal file
@@ -0,0 +1,61 @@
|
||||
#+TITLE: Task 4a: Approximation of Pi: Sum 1
|
||||
#+AUTHOR: JirR02
|
||||
|
||||
* Task
|
||||
|
||||
The number \(\pi\) can be defined through various infinite sums. The accuracy increases with the number of terms. Considering the following sum, that we call sum 1:
|
||||
|
||||
$$\frac{\pi}{4} = \sum_{j=0}^{m-1} \frac{(-1)^j}{2j + 1} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + ...$$
|
||||
|
||||
Note that \(m\) is the number of the terms in the sum. For example, \(m=2\)$ refers to the sum of the terms \(1\) (for \(j=0\)) and \(-\frac{1}{3}\) (for \(j=1\)). This examples yields a value of \(4 \cdot (1-\frac{1}{3})\) for \(\pi\).
|
||||
|
||||
Write a program that computes and outputs an approximation of Pi, based on sum 1. The input for your program is the number of **terms** $m$ of sum 1 that should be considered in the calculation. The output is the approximation of \(\pi\).
|
||||
|
||||
** Input
|
||||
|
||||
A number \(m \geq 1\).
|
||||
|
||||
** Output
|
||||
|
||||
The approximation of \(\pi\) given by \(4 \sum_{j=0}^{m-1} \frac{(-1)^j}{2j + 1}\), rounded to 6 significant digits. Note that 6 significant digits is the default precision of C++ for printing floating-point values. Use a variable of type double to calculate the sum. Note that \(x^0\) is 1 (if \(x \neq 0\)).
|
||||
|
||||
**Important**: the use of functions from the math library (e.g., pow) is prohibited.
|
||||
|
||||
* Solution
|
||||
|
||||
#+begin_src cpp
|
||||
#include <iostream>
|
||||
|
||||
double power(double n, double e) { // Self defined function for exponent
|
||||
int res = 1;
|
||||
for (; e > 0; --e) {
|
||||
res *= n;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
int main() {
|
||||
double m; // User Input
|
||||
double pi = 0; // Pi
|
||||
float res; // Outputed result with 6 significant digits
|
||||
|
||||
std::cin >> m;
|
||||
|
||||
if (m < 1) { // Check if Input is greater than 1.
|
||||
return 0;
|
||||
} else {
|
||||
for (int i = 0; i < m; ++i) {
|
||||
pi = pi + 4 * ((power(-1, i)) / ((2 * i) + 1)); // calculate Pi
|
||||
}
|
||||
|
||||
res = (float)(pi); // round to 6 significant digits
|
||||
std::cout << res;
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#+end_src
|
||||
|
||||
-----
|
||||
|
||||
Made by JirR02 in Switzerland 🇨🇭
|
@@ -1,30 +0,0 @@
|
||||
#include <iostream>
|
||||
|
||||
double power(double n, double e) { // Self defined function for exponent
|
||||
int res = 1;
|
||||
for (; e > 0; --e) {
|
||||
res *= n;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
int main() {
|
||||
double m; // User Input
|
||||
double pi = 0; // Pi
|
||||
float res; // Outputed result with 6 significant digits
|
||||
|
||||
std::cin >> m;
|
||||
|
||||
if (m < 1) { // Check if Input is greater than 1.
|
||||
return 0;
|
||||
} else {
|
||||
for (int i = 0; i < m; ++i) {
|
||||
pi = pi + 4 * ((power(-1, i)) / ((2 * i) + 1)); // calculate Pi
|
||||
}
|
||||
|
||||
res = (float)(pi); // round to 6 significant digits
|
||||
std::cout << res;
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user