Programa para calcular el aumento esperado en el precio P después de N días consecutivos

Dado un entero P , que aumenta en A o B con un 50 % de probabilidad cada uno, en los próximos N días consecutivos, la tarea es encontrar el valor esperado después de N días. 

Ejemplos:

Entrada: P = 1000, A = 5, B = 10, N = 10
Salida: 1075
Explicación:
El valor aumentado esperado después de N días consecutivos es igual a: 
P + N * (a + b) / 2 = 1000 + 10 × 7,5 = 1000 + 75 = 1075.

Entrada: P = 2000, a = 10, b = 20, N = 30
Salida: 2450

 

Enfoque: Siga los pasos para resolver el problema:

  1. Valor esperado de aumento cada día = (Probabilidad de aumento de A) * A + (Probabilidad de aumento de valor de B) * B = (1/2) * A + (1/2) * B .
  2. Por lo tanto, aumento de valor después de un día = (a + b) / 2.
  3. Por lo tanto, aumento de valor después de N días = N * (a + b) / 2.
  4. Por lo tanto, valor aumentado después de N días = P + N * (a + b) / 2.
  5. Imprime el valor aumentado como la respuesta requerida.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program for
// the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the increased
// value of P after N days
void expectedValue(int P, int a,
                   int b, int N)
{
    // Expected value of the
    // number P after N days
    double expValue
        = P + (N * 0.5 * (a + b));
 
    // Print the expected value
    cout << expValue;
}
 
// Driver Code
int main()
{
    int P = 3000, a = 20, b = 10, N = 30;
    expectedValue(P, a, b, N);
 
    return 0;
}

Java

// Java program for the above approach
class GFG{
 
// Function to find the increased
// value of P after N days
static void expectedValue(int P, int a,
                          int b, int N)
{
     
    // Expected value of the
    // number P after N days
    double expValue = P + (N * 0.5 * (a + b));
 
    // Print the expected value
    System.out.print(expValue);
}
 
// Driver code
public static void main(String[] args)
{
    int P = 3000, a = 20, b = 10, N = 30;
    expectedValue(P, a, b, N);
}
}
 
// This code is contributed by abhinavjain194

Python3

# Python3 program for
# the above approach
 
# Function to find the increased
# value of P after N days
def expectedValue(P, a, b, N):
     
    # Expected value of the
    # number P after N days
    expValue = P + (N * 0.5 * (a + b))
 
    # Print the expected value
    print(int(expValue))
 
# Driver Code
if __name__ == '__main__':
     
    P = 3000
    a = 20
    b = 10
    N = 30
     
    expectedValue(P, a, b, N)
     
# This code is contributed by ipg2016107

C#

// C# program for the above approach
using System;
 
class GFG{
     
// Function to find the increased
// value of P after N days
static void expectedValue(int P, int a,
                          int b, int N)
{
     
    // Expected value of the
    // number P after N days
    double expValue = P + (N * 0.5 * (a + b));
 
    // Print the expected value
    Console.Write(expValue);
}
 
// Driver code
static void Main()
{
    int P = 3000, a = 20, b = 10, N = 30;
    expectedValue(P, a, b, N);
}
}
 
// This code is contributed by abhinavjain194

Javascript

<script>
 
// Javascript program for
// the above approach
  
// Function to find the increased
// value of P after N days
 
    function expectedValue(P, a, b, N)
    {
     
       // Expected value of the
       // number P after N day
     
       var expValue = P + (N * 0.5 * (a + b)) ;
        
       return expValue;
      }
  
    // Driver code
     
      var P = 3000
      var a = 20
      var b = 10
      var N = 30
  
     document.write(expectedValue(P, a, b, N));
  
</script>
Producción: 

3450

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por ramandeep8421 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 *