Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2164. Mostrar todas as postagens
Mostrando postagens com marcador 2164. Mostrar todas as postagens

sexta-feira, 5 de março de 2021

URI (BEECROWD) - 2164 - Fibonacci Rápido - Iniciante - C e C++

Fibonacci rápido foi um exercício bem interessante! Aqui posto a solução para vocês, espero que gostem!

Plataforma: URI (BEECROWD)

Problema2164

Enunciado:

A fórmula de Binet é uma forma de calcular números de Fibonacci.

Sua tarefa é, dado um natural n, calcular o valor de Fibonacci(n) usando a fórmula acima.

Linguagens: C e C++


Solução:

Basta montar a fórmula solicitada no exercício. Fiz ela em partes para facilitar, criando termos separados. É necessário delimitar as casas decimais (utilizar uma casa decimal). Em C isso é feito com %.1lf (delimitar o long float/double em 1 casa decimal), em C++ é feito com a iomanip utilizando setprecision(1).

Código em C:

#include <stdio.h>
#include <math.h>

int main() {
    
    int n;
    double raiz5 = sqrt(5);
    scanf("%i", &n);
    
    double termo1 = pow((1 + raiz5) / 2.0, n);
    double termo2 = pow((1 - raiz5) / 2.0, n);
    double resposta = (termo1 - termo2) / raiz5;
    
    printf("%.1lf\n", resposta);
    
    return 0;
}

Código em C++:

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main() {
    
    int n;
    cin >> n;
    
    double raiz5 = sqrt(5);
    double termo1 = pow((1 + raiz5) / 2.0, n);
    double termo2 = pow((1 - raiz5) / 2.0, n);
    double resposta = (termo1 - termo2) / raiz5;

    cout << fixed << setprecision(1) << resposta << endl;
    
    return 0;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas