Skip to content

Instantly share code, notes, and snippets.

@jniltinho
Created November 1, 2015 18:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jniltinho/01648c853b24763dc38a to your computer and use it in GitHub Desktop.
Save jniltinho/01648c853b24763dc38a to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
'''
Autor: Luiz Felipe na Lista Python Brasil 31-10-2015
A série de Fibonacci é formada pela seqüência 1,1,2,3,5,8,13,21,34,55,...
Faça um programa capaz de gerar a série até o n−ésimo termo.
'''
#Fn = F(n-1) + F(n-2)
while True:
n = int (input("\nDigite o termo que queira descobrir na sequência Fibonacci: "))
i = 0
a = 0
b = 1
if n > 0:
print ("\n%dº termo: %d"%(b,b))
i += 1
a = b
while i < n:
print ("\n%dº termo: %d"%(i+1,b))
b = a + b
i+=1
a = b - a
quest = raw_input("\nDeseja continuar? Digite Y p/ sim e N p/ não >>>> ")
if quest == 'Y':
print ("\nVamos começar de novo")
else:
break
else:
print ("\nVocẽ não pode digitar zero ou numero negativo")
quest = int(input ("\nDigite 0 para sair e 1 para continuar ... "))
if quest == 1:
print ("\nVamos começar de novo")
else:
break
@fredericksilva
Copy link

Golang

12 primeiros termos

func gerador_fibonacci() chan int {
  c := make(chan int)

  go func() { 
    for i, j := 0, 1; ; i, j = i+j,i {
        c <- i
    }
  }()

  return c
}

func main() {
    c := gerador_fibonacci()
    for n := 0; n < 12 ; n++ {
        fmt.Println(<- c)
    }
}

N-ésimo termo

package main

import "fmt"

func fib(n uint) uint {
    if n == 0 {
        return 0
    } else if n == 1 {
        return 1
    } else {
        return fib(n-1) + fib(n-2)
    }
}

func main() {
    n := uint(10)
    fmt.Println(fib(n))
}

@eduardoklosowski
Copy link

Haskell

fibo 1 = 1
fibo 2 = 1
fibo n = fibo (n - 1) + fibo (n - 2)


main = do
    putStrLn "Digite o termo que queira descobrir na sequência Fibonacci: "
    n <- getLine
    putStrLn $ n ++ "º termo: " ++ show (fibo (read n))
    main

@lrlucena
Copy link

lrlucena commented Nov 6, 2015

Potigol

# Linguagem Potigol: http://potigol.github.io
fibonacci(n: Inteiro)
  fib(a, b, n: Inteiro): Lista[Inteiro] = escolha n
    caso 0 => []
    caso _ => b :: fib(b, a + b, n - 1)
  fim
  fib(0, 1, n)
fim

imprima "Quantos termos da sequência de Fibonacci deseja gerar? "
n = leia_inteiro
escreva "{n} primeiros termos: {fibonacci(n).junte(", ")}"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment