Dados tres números enteros A, B y N, la tarea es encontrar N medias geométricas entre A y B. Básicamente, necesitamos insertar N términos en una progresión geométrica . donde A y B son los términos primero y último.
Ejemplos:
Input : A = 2 B = 32 N = 3 Output : 4 8 16 the geometric progression series as 2, 4, 8, 16 , 32 Input : A = 3 B = 81 N = 2 Output : 9 27
Método:
Sean A 1 , G 2 , G 3 , G 4 ……G n N Medias geométricas entre dos números dados A y B . Entonces A, G 1 , G 2 ….. G n , B estarán en Progresión Geométrica.
Entonces B = (N+2) el término de la progresión geométrica.
Entonces Aquí R es la razón común
B = A*R N+1
R N+1 = B/A
R = (B/A) 1/(N+1)
Ahora tenemos el valor de R
Y también tenemos el valor del primer término A
G 1 = AR 1 = A * (B/A) 1/(N+1)
G 2 = AR 2 = A * (B/A) 2/(N+1)
G 3 = AR 3 = A * (B/A) 3/(N+1)
.
.
.
GRAMO N = AR N = A * (B/A) N/(N+1)
C++
// C++ program to find n geometric means // between A and B #include <bits/stdc++.h> using namespace std; // Prints N geometric means between // A and B. void printGMeans(int A, int B, int N) { // calculate common ratio(R) float R = (float)pow(float(B / A), 1.0 / (float)(N + 1)); // for finding N the Geometric // mean between A and B for (int i = 1; i <= N; i++) cout << A * pow(R, i) <<" "; } // Driver code to test above int main() { int A = 3, B = 81, N = 2; printGMeans(A, B, N); return 0; }
Java
// java program to illustrate // n geometric mean between // A and B import java.io.*; import java.lang.*; import java.util.*; public class GFG { // insert function for calculating the means static void printGMeans(int A, int B, int N) { // Finding the value of R Common ration float R = (float)Math.pow((float)(B / A), 1.0 / (float)(N + 1)); // for finding N the Geometric // mean between A and B for (int i = 1; i <= N; i++) System.out.print(A * Math.pow(R, i) + " "); } // Driver code public static void main(String args[]) { int A = 3, B = 81, N = 2; printGMeans(A, B, N); } }
Python3
# Python3 program to find # n geometric means # between A and B import math # Prints N geometric means # between A and B. def printGMeans(A, B, N): # calculate # common ratio(R) R = (math.pow((B / A), 1.0 / (N + 1))); # for finding N the # Geometric mean # between A and B for i in range(1, N + 1): print(int(A * math.pow(R, i)), end = " "); # Driver Code A = 3; B = 81; N = 2; printGMeans(A, B, N); # This code is contributed # by mits
C#
// C# program to illustrate // n geometric mean between // A and B using System; public class GFG { // insert function for calculating the means static void printGMeans(int A, int B, int N) { // Finding the value of R Common ration float R = (float)Math.Pow((float)(B / A), 1.0 / (float)(N + 1)); // for finding N the Geometric // mean between A and B for (int i = 1; i <= N; i++) Console.Write(A * Math.Pow(R, i) + " "); } // Driver code public static void Main() { int A = 3, B = 81, N = 2; printGMeans(A, B, N); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to find // n geometric means // between A and B // Pr$s N geometric means // between A and B. function printGMeans($A, $B, $N) { // calculate common ratio(R) $R = pow(($B / $A), 1.0 / ($N + 1)); // for finding N the Geometric // mean between A and B for ($i = 1; $i <= $N; $i++) echo $A * pow($R, $i) ," "; } // Driver Code $A = 3; $B = 81; $N = 2; printGMeans($A, $B, $N); // This code is contributed by anuj_67. ?>
Javascript
<script> // JavaScript program to illustrate // n geometric mean between // A and B // insert function for calculating the means function printGMeans(A, B, N) { // Finding the value of R Common ration let R = Math.pow((B / A), 1.0 / (N + 1)); // for finding N the Geometric // mean between A and B for (let i = 1; i <= N; i++) document.write(A * Math.pow(R, i) + " "); } // Driver Code let A = 3, B = 81, N = 2; printGMeans(A, B, N); // This code is contributed by code_hunt. </script>
Producción :
9 27
Complejidad de tiempo: O (N * log (N)), en el peor de los casos, la función de potencia toma el tiempo de log (N).
Complejidad espacial : O(1)
Publicación traducida automáticamente
Artículo escrito por Manish_100 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA