# 算法题：查找第N个谐波数的程序

2021年4月30日19:30:16 发表评论 826 次浏览

## 本文概述

H1 = 1
H2 = H1 + 1/2
H3 = H2 + 1/3
H4 = H3 + 1/4
。 。 。
Hn = Hn-1 + 1/n

``````Input : N = 5
Output : 2.45

Input : N = 9
Output : 2.71786``````

## C ++

``````//CPP program to find N-th Harmonic Number

#include <iostream>
using namespace std;

//Function to find N-th Harmonic Number
double nthHarmonic( int N)
{
//H1 = 1
float harmonic = 1.00;

//loop to apply the forumula
//Hn = H1 + H2 + H3 ... + Hn-1 + Hn-1 + 1/n
for ( int i = 2; i <= N; i++) {
harmonic += ( float )1 /i;
}

return harmonic;
}

//Driver Code
int main()
{
int N = 8;

cout<<nthHarmonic(N);

return 0;
}``````

## Java

``````//Java program to find N-th Harmonic Number

import java.io.*;

class GFG {

//Function to find N-th Harmonic Number
static double nthHarmonic( int N)
{
//H1 = 1
float harmonic = 1 ;

//loop to apply the forumula
//Hn = H1 + H2 + H3 ... + Hn-1 + Hn-1 + 1/n
for ( int i = 2 ; i <= N; i++) {
harmonic += ( float ) 1 /i;
}

return harmonic;
}

//Driver Code

public static void main (String[] args) {
int N = 8 ;

System.out.print(nthHarmonic(N));

}
}
//This code is contributed
//by ajit``````

## Python 3

``````# Python3 program to find
# N-th Harmonic Number

# Function to find N-th Harmonic Number
def nthHarmonic(N) :

# H1 = 1
harmonic = 1.00

# loop to apply the forumula
# Hn = H1 + H2 + H3 ... +
# Hn-1 + Hn-1 + 1/n
for i in range ( 2 , N + 1 ) :
harmonic + = 1 /i

return harmonic

# Driver code
if __name__ = = "__main__" :

N = 8
print ( round (nthHarmonic(N), 5 ))

# This code is contributed by ANKITRAI1``````

## C#

``````//C# program to find N-th Harmonic Number
using System;

class GFG
{

//Function to find N-th Harmonic Number
static double nthHarmonic( int N)
{
//H1 = 1
float harmonic = 1;

//loop to apply the forumula
//Hn = H1 + H2 + H3 ... +
//Hn-1 + Hn-1 + 1/n
for ( int i = 2; i <= N; i++)
{
harmonic += ( float )1 /i;
}

return harmonic;
}

//Driver Code
static public void Main ()
{
int N = 8;

Console.Write(nthHarmonic(N));
}
}

//This code is contributed
//by Raj``````

## 的PHP

``````<?php
//PHP program to find
//N-th Harmonic Number

//Function to find N-th
//Harmonic Number
function nthHarmonic( \$N )
{
//H1 = 1
\$harmonic = 1.00;

//loop to apply the forumula
//Hn = H1 + H2 + H3 ... +
//Hn-1 + Hn-1 + 1/n
for ( \$i = 2; \$i <= \$N ; \$i ++)
{
\$harmonic += (float)1 /\$i ;
}

return \$harmonic ;
}

//Driver Code
\$N = 8;
echo nthHarmonic( \$N );

//This code is contributed
//by Shivi_Aggarwal
?>``````

``2.71786``