Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 23bafdc

Browse files
authored
Merge pull request #61 from heitor582/main
[GO] Adiciona extra Calcula o PI (Fórmula de Leibniz)
2 parents a9d63d9 + 54f2181 commit 23bafdc

File tree

3 files changed

+70
-46
lines changed

3 files changed

+70
-46
lines changed

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Com o objetivo de alcançar uma abrangência maior e encorajar novas pessoas a c
7171
| Problema da Soma de 2 Números | C/C++ | Java | [Python](/src/python/soma_dois_numeros.py) | Go | Ruby | Javascript | Pascal |
7272
| [Palíndromo][49] | [C/C++](/src/c/Palindromo.c) | Java | Python | Go | [Ruby](/src/ruby/Palindromo.rb) | [Javascript](/src/javascript/Palindromo.js) | Pascal |
7373
| Lista Encadeada Desordenada | C/C++ | Java | [Python](/src/python/lista_encadeada_desordenada.py) | Go | Ruby | Javascript | Pascal |
74-
| [Calcula o PI (Fórmula de Leibniz)][50] | C/C++ | Java | [Python](/src/python/calculate_pi.py) | Go | Ruby | [Javascript](/src/javascript/calculate_pi.js) | Pascal |
74+
| [Calcula o PI (Fórmula de Leibniz)][50] | C/C++ | Java | [Python](/src/python/calculate_pi.py) | [Go](/src/go/calculatepi/calculatepi.go) | Ruby | [Javascript](/src/javascript/calculate_pi.js) | Pascal |
7575
| Busca em Labirinto | C/C++ | Java | [Python](/src/python/busca_em_labirinto.py) | Go | Ruby | Javascript | Pascal |
7676

7777
## Contribuindo

‎src/go/calculatepi/calculatepi.go‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package calculatepi
2+
3+
func CalculatePi(terms []int) []float64 {
4+
var denominator float64 = 1.0
5+
var operation float64 = 1.0
6+
pi := make([]float64, len(terms))
7+
8+
for i := 0; i < len(terms); i++ {
9+
denominator = 1.0
10+
operation = 1.0
11+
for cont := 0; cont < terms[i]; cont++ {
12+
pi[i] += operation * (4 / denominator)
13+
denominator += 2
14+
operation *= -1
15+
}
16+
}
17+
return pi
18+
}

‎src/go/main.go‎

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,103 @@
11
package main
22

33
import (
4-
"../GoLang/bubblesort"
5-
"../GoLang/exponenciacao"
6-
"../GoLang/fatorial"
7-
"../GoLang/fibonacci"
8-
"../GoLang/hanoi"
9-
"../GoLang/heapsort"
10-
"../GoLang/caixeiroviajante"
11-
"../GoLang/insertionsort"
12-
"../GoLang/mergesort"
13-
"../GoLang/selectionsort"
14-
"../GoLang/shellsort"
15-
"../GoLang/radixsort"
16-
"../GoLang/quicksort"
17-
"../GoLang/combsort"
18-
"../GoLang/cocktailsort"
19-
"../GoLang/countingsort"
20-
"../GoLang/gnomesort"
214
"fmt"
5+
6+
"../go/bubblesort"
7+
"../go/caixeiroviajante"
8+
"../go/calculatepi"
9+
"../go/cocktailsort"
10+
"../go/combsort"
11+
"../go/countingsort"
12+
"../go/exponenciacao"
13+
"../go/fatorial"
14+
"../go/fibonacci"
15+
"../go/gnomesort"
16+
"../go/hanoi"
17+
"../go/heapsort"
18+
"../go/insertionsort"
19+
"../go/mergesort"
20+
"../go/quicksort"
21+
"../go/radixsort"
22+
"../go/selectionsort"
23+
"../go/shellsort"
2224
)
2325

2426
func main() {
25-
fmt.Println("Fibonacci : ", fibonacci.Fibonacci(9), "\n")
26-
fmt.Println("Exponenciacao : ", exponenciacao.Exponenciacao(5, 5), "\n")
27-
fmt.Println("Fatorial : ", fatorial.Fatorial(6), "\n")
27+
fmt.Println("Fibonacci : ", fibonacci.Fibonacci(9))
28+
fmt.Println("Exponenciacao : ", exponenciacao.Exponenciacao(5, 5))
29+
fmt.Println("Fatorial : ", fatorial.Fatorial(6))
2830
fmt.Println("Torre de Hanoi : ")
2931
hanoi.Hanoi(0, 2, 1, 3)
3032

3133
caixeiroviajante.Run()
3234

3335
slice := []int{5, 2, 1, 6, 9, 8, 7, 3, 4}
3436
fmt.Println("Slice : ", slice)
35-
bubblesort.BubbleSort(slice)
36-
fmt.Println("BubbleSort : ", slice, "\n")
37+
bubblesort.BubbleSort(slice)
38+
fmt.Println("BubbleSort : ", slice)
3739

3840
slice = []int{1, 3, 2, 9, 7, 8, 5, 6, 4}
3941
fmt.Println("Slice : ", slice)
40-
selectionsort.SelectionSort(slice)
41-
fmt.Println("SelectionSort : ", slice, "\n")
42+
selectionsort.SelectionSort(slice)
43+
fmt.Println("SelectionSort : ", slice)
4244

4345
slice = []int{9, 8, 7, 5, 1, 2, 4, 3, 6}
4446
fmt.Println("Slice : ", slice)
45-
insertionsort.InsertionSort(slice)
46-
fmt.Println("InsertionSort : ", slice, "\n")
47+
insertionsort.InsertionSort(slice)
48+
fmt.Println("InsertionSort : ", slice)
4749

4850
slice = []int{4, 6, 7, 1, 2, 3, 5, 9, 8}
4951
fmt.Println("Slice : ", slice)
50-
mergesort.MergeSort(slice)
51-
fmt.Println("MergeSort : ", slice, "\n")
52+
mergesort.MergeSort(slice)
53+
fmt.Println("MergeSort : ", slice)
5254

5355
slice = []int{5, 1, 4, 2, 3, 6, 9, 7, 8}
5456
fmt.Println("Slice : ", slice)
55-
shellsort.ShellSort(slice)
56-
fmt.Println("ShellSort : ", slice, "\n")
57+
shellsort.ShellSort(slice)
58+
fmt.Println("ShellSort : ", slice)
5759

5860
slice = []int{6, 8, 7, 9, 1, 5, 4, 2, 3}
5961
fmt.Println("Slice : ", slice)
6062
heapsort.HeapSort1(slice)
61-
fmt.Println("HeapSort1 : ", slice, "\n")
63+
fmt.Println("HeapSort1 : ", slice)
6264

6365
slice = []int{6, 8, 7, 9, 1, 5, 4, 2, 3}
6466
fmt.Println("Slice : ", slice)
65-
heapsort.HeapSort2(slice)
66-
fmt.Println("HeapSort2 : ", slice, "\n")
67+
heapsort.HeapSort2(slice)
68+
fmt.Println("HeapSort2 : ", slice)
6769

6870
slice = []int{3, 1, 5, 4, 2, 9, 6, 8, 7}
6971
fmt.Println("Slice : ", slice)
70-
radixsort.RadixSort(slice)
71-
fmt.Println("RadixSort : ", slice, "\n")
72+
radixsort.RadixSort(slice)
73+
fmt.Println("RadixSort : ", slice)
7274

7375
slice = []int{2, 1, 8, 4, 3, 7, 6, 5, 9}
7476
fmt.Println("Slice : ", slice)
75-
quicksort.QuickSort(slice)
76-
fmt.Println("QuickSort : ", slice, "\n")
77+
quicksort.QuickSort(slice)
78+
fmt.Println("QuickSort : ", slice)
7779

7880
slice = []int{6, 5, 8, 7, 3, 4, 2, 1, 9}
7981
fmt.Println("Slice : ", slice)
80-
combsort.CombSort(slice)
81-
fmt.Println("CombSort : ", slice, "\n")
82+
combsort.CombSort(slice)
83+
fmt.Println("CombSort : ", slice)
8284

8385
slice = []int{1, 5, 8, 3, 7, 4, 9, 6, 2}
8486
fmt.Println("Slice : ", slice)
85-
cocktailsort.CocktailSort(slice)
86-
fmt.Println("CocktailSort : ", slice, "\n")
87+
cocktailsort.CocktailSort(slice)
88+
fmt.Println("CocktailSort : ", slice)
8789

8890
slice = []int{9, 5, 8, 7, 3, 2, 1, 6, 4}
8991
fmt.Println("Slice : ", slice)
90-
countingsort.CountingSort(slice)
91-
fmt.Println("CountingSort : ", slice, "\n")
92+
countingsort.CountingSort(slice)
93+
fmt.Println("CountingSort : ", slice)
9294

9395
slice = []int{2, 5, 1, 7, 4, 9, 8, 6, 3}
9496
fmt.Println("Slice : ", slice)
95-
gnomesort.GnomeSort(slice)
96-
fmt.Println("GnomeSort : ", slice, "\n")
97+
gnomesort.GnomeSort(slice)
98+
fmt.Println("GnomeSort : ", slice)
99+
100+
slice = []int{10, 1000, 100000, 10000000}
101+
fmt.Println("Slice : ", slice)
102+
fmt.Println("CalculatePi : ", calculatepi.CalculatePi(slice))
97103
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /