Em Matemática, o número harmônico designado por
define-se como sendo a soma da série harmónica:
Faça um programa que leia um valor
inteiro e positivo e apresente o valor de
.
Passo 1
O problema pede para calcular o número harmônico H(n), definido pela série H(n)=1+1/2+1/3+…+1/n. Vamos usar conhecimentos de séries numéricas, tipos de dados de ponto flutuante e estruturas de repetição.
Passo 2
Declaramos uma variável do tipo inteiro para armazenar n e uma do tipo double para acumular a soma. Em seguida, lemos n da entrada, garantindo que seja um inteiro positivo.
Passo 3
Inicializamos a variável de soma com zero e usamos um laço for que vai de i=1 até i=n. Em cada iteração, somamos 1.0/i ao acumulador, garantindo divisão em ponto flutuante.
Passo 4
Após o término do laço, temos o valor de H(n) no acumulador. Então usamos printf para exibir esse valor em ponto flutuante com precisão adequada.
Resposta
#include <stdio.h>
int main() {
int n;
if (scanf("%d", &n) != 1 || n <= 0) return 0;
double sum = 0.0;
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("%.6f\n", sum);
return 0;
}
int n;
if (scanf("%d", &n) != 1 || n <= 0) return 0;
double sum = 0.0;
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("%.6f\n", sum);
return 0;
}