O exercício da raiz quadrada de 10 foi resolvido e postado aqui. Bom proveito!
Plataforma: URI (BEECROWD)
Problema: 2161
Enunciado:
Uma das formas de calcular a raiz quadrada de um número natural é pelo método das frações periódicas continuadas. Esse método usa como denominador uma repetição de frações. Essa repetição pode ser feita uma quantidade específica de vezes.
Por exemplo, ao repetir 2 vezes a fração continuada para calcular a raiz quadrada de 10, temos a fórmula abaixo (ver fórmula na especificação original do problema).
Sua tarefa é, dado o número N de repetições, calcular o valor aproximado da raiz quadrada de 10.
Linguagens: C e C++
Solução:
Basta calcular a raiz de n utilizando a formula abaixo recursivamente.
Código em C:
#include <stdio.h> double raiz(int n) { if (n == 0) return 0; return 1 / (6 + raiz(n - 1)); } int main() { int n; scanf("%i", &n); printf("%.10lf\n", 3 + raiz(n)); return 0; }
Código em C++:
Aqui utilizou-se, primeiramente, a biblioteca iomanip para usar a função setprecision, limitando as casas decimais em 10.
Seguindo a fórmula, criou-se a função raíz, que realiza todo cálculo da fórmula e, quando chamada, ao seu valor de retorno é adicionado o valor 3, para assim obter na totalidade o valor solicitado no exercício.
#include <iostream> #include <iomanip> double raiz(int n) { if (n == 0) return 0; return 1 / (6 + raiz(n - 1)); } int main() { int n; std::cin>>n; std::cout<<std::fixed<<std::setprecision(10)<<3+raiz(n)<<std::endl; return 0; }