Encuentra N medias geométricas entre A y B

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *