Ir ao conteúdo
  • Cadastre-se

Função recursiva para n-esimo harmônico


wilker.rj
Ir à solução Resolvido por Midori,

Posts recomendados

Bom dia galera, estou com um problema em uma função recursiva em C. Ela deveria calcular o n-esimo número harmônico que é dado pela fórmula H(n) = 1 + 1/2 + 1/3 + 1/4 + . . . + 1/n (n >= 1), no entanto está sempre retornando o valor 1. alguém pode me dar uma ajuda?

o cabeçalho é este 

double harmonico(int n);

o que eu fiz foi o seguinte 

double harmonico(int n) {    if (n == 1)  return 1 / n;    else return 1 / n + harmonico(n - 1);}
Link para o comentário
Compartilhar em outros sites

Perdão. O que havia entendido era que, o valor de retorno da função era int. Agora entendi que você quis dizer dizer q a função estava retornando int.

 

Fazendo o cast funcionou. Obrigado. 

Porém pode me ajudar com mais uma coisa? O motivo pelo qual era estava retornando int, era por eu estar fazer a soma com o valor 1 que é reconhecido como inteiro? E assim ele estava fazendo uma soma inteira?

 

Então o correto quande se operar com valores double/float é sempre colocar a parte decimal explícita.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!