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:
- 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 .
- Por lo tanto, aumento de valor después de un día = (a + b) / 2.
- Por lo tanto, aumento de valor después de N días = N * (a + b) / 2.
- Por lo tanto, valor aumentado después de N días = P + N * (a + b) / 2.
- 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>
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