Em linguagem C:
// Em c:
// Para compilar:
// gcc phi.c -o phi -lm
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
// Phi e phi conjugados tal que Phi * phi = 1
#define Phi (1+sqrt(5))/2
#define phi (1-sqrt(5))/2
// Encontra n numero de Fibonacci onde a sequencia começa em 0
int Fib(int n)
{
return round(( pow(Phi, n) - pow(phi, n) ) / sqrt(5));
}
// Soma dos primeiros n numeros de Fibonacci onde a sequencia começa em 0
int sumPhi(int n)
{
return Fib(n+2)-1;
}
// Encontra a posição n onde Fib(n)=value
int FindPosition(int value)
{
return floor(log(value*sqrt(5))/log(Phi));
}
int main()
{
int a=Fib(7);
int b=sumPhi(7);
int c=FindPosition(13);
printf("numero 7 da sequencia de Fibonacci:%i\n", a);
printf("soma dos 7 primeiros temos da sequencia de Fibonacci:%i\n", b);
printf("Numero 13 na posição da sequencia de Fibonacci:%i\n", c);
return 0;
}
Em javaScript:
<script>
// Phi e phi conjugados tal que Phi * phi = 1
// Phi * phi = 1
var Phi= (1+Math.sqrt(5))/2;
var phi= (1-Math.sqrt(5))/2;
// Encontra n numero de Fibonacci onde a sequencia começa em 0
function Fib(n)
{
return Math.round(( Math.pow(Phi, n) - Math.pow(phi, n) ) / Math.sqrt(5));
}
// Soma dos primeiros n numeros de Fibonacci onde a sequencia começa em 0
function sumPhi(n)
{
return Fib(n+2)-1;
}
// Encontra a posição n onde Fib(n)=value
function FindPosition(value)
{
return Math.floor(Math.log(value*Math.sqrt(5))/Math.log(Phi));
}
document.write("Sum = "+sumPhi(8));
</script>
Nenhum comentário:
Postar um comentário