자연수 배열이 주어지면 주어진 숫자의 조화 평균을 계산하고 인쇄하는 작업입니다.
고조파의 의미는 무엇입니까?
조화 평균은 그 역수에 의한 산술 평균의 역수를 의미합니다.
$$고조파\:평균=\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