Ir ao conteúdo

Posts recomendados

Postado

Eu assumo que você não pode usar a biblioteca math.h? Por que o número de ouro é igual a (1 + 5) / 2...

 

Então um simples ciclo que fique calculando phi = 1 + 1/phi , com phi inicial igual a 1, até atingir o nível de precisão desejado deve resolver seu problema.

  • Curtir 1
Postado

Você pode:

 

* calcular a raiz quadrada de 5 pelo método de Newton-Raphson http://pt.wikipedia.org/wiki/M%C3%A9todo_de_Newton-Raphson

* calcular a raiz de 5 usando a função sqrt(5) com a header #include <math.h> (se fosse em C. Prá C++ deve ser só  #include <math>)

* descrever matematicamente que o cálculo da proprorção áurea (número de ouro) vem a partir das das raízes do polinômio x²-x-1 = 0 através do método de Newton-Raphson http://pt.wikipedia.org/wiki/M%C3%A9todo_de_Newton-Raphson

 

As raízes desse polinômio são 0,618.... e 1,618... 

 

E acabei descobrindo este outro método: http://pt.wikipedia.org/wiki/M%C3%A9todo_das_secantes

Postado

Não é preciso calcular uma raiz quadrada, pois é possível usar o método da série de frações, e isto convergirá para o número de ouro:

 

e160294133af26660a216e8f74de8e94.png

62698160ea073ac52ede3440f6822a3c.png

3d4de033a6d6224d85615e230e45d078.png

0884c6bfe1c6f0ab3bb2d7dcae2673b9.png

 

A menos que tenha sido especificado que é necessário achar o número de ouro resolvendo o polinômio x² -x -1 = 0.

  • Curtir 2
  • 6 anos depois...
Postado
Em 17/12/2020 às 18:35, alkwelt disse:

@isrnick como faço isso em uma recursão?

 

#include <stdio.h>

double ouro(double num){
    double num2 = 1 + 1/num;
    double erro = num2 - num;
    erro = erro < 0.0 ? -erro : erro;
    if (erro > 0.00000000001) {
        num2 = ouro(num2);
    }
    return num2;
}

int main()
{
    printf("%.12lf\n", ouro(1.0));

    return 0;
}

 

  • Curtir 1
  • Amei 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!