자연수 배열이 주어지면 주어진 숫자의 조화 평균을 계산하고 인쇄하는 작업입니다.
고조파의 의미는 무엇입니까?
조화 평균은 그 역수에 의한 산술 평균의 역수를 의미합니다.
$$고조파\:평균=\frac{n}{\frac{1}{a}+\frac{1}{b}+\frac{1}{c}+...}$$
여기서 n은 주어진 요소의 총 개수이고 a, b, c,..는 배열의 실제 요소입니다.
조화 평균을 계산하는 단계는 -
-
요소의 역수 수행
-
모든 왕복 요소를 함께 추가
-
이제 배열의 총 요소 수를 왕복 요소의 합으로 나눕니다.
입력
arr[] = {2.0, 3.4, 5.3, 2.1} 출력
Harmonic mean is: 2.74163
입력
arr[] = {13.5, 14.5, 14.8, 15.2, 16.1} 출력
Harmonic mean is : 14.7707
알고리즘
Start
Step 1→ declare function to calculate harmonic mean of numbers
float harmonic_mean(float arr[], int size)
Declare float sum = 0
Loop For int i = 0 and i < size and i++
Set sum = sum + (float)1 / arr[i]
End
return (float)size/sum
Step 2→ In main()
Declare float arr[] = {2.0, 3.4, 5.3, 2.1}
Declare int size = sizeof(arr) / sizeof(arr[0])
Call harmonic_mean(arr, size)
Stop 호출 예
#include <bits/stdc++.h>
using namespace std;
//calculate harmonic mean
float harmonic_mean(float arr[], int size){
float sum = 0;
for (int i = 0; i < size; i++)
sum = sum + (float)1 / arr[i];
return (float)size/sum;
}
int main(){
float arr[] = {2.0, 3.4, 5.3, 2.1};
int size = sizeof(arr) / sizeof(arr[0]);
cout<<"Harmonic mean is : "<<harmonic_mean(arr, size);
return 0;
} 출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Harmonic mean is: 2.74163