Dada la string str que representa un polinomio y un número N , la tarea es integrar este polinomio con respecto a X en el valor N dado .
Ejemplos:
Entrada: str = “90x 4 + 24x 3 + 18x 2 + 18x”, N = 1.
Salida: 39
Explicación:
Dado, dy/dx = 90*(X 4 ) + 24* (X 3 ) + 18* (X 2 ) + 18*(X). Al integrar esta ecuación, obtenemos 18*(X 5 ) + 6*(X 4 ) + 6*(X 3 ) + 9*(X 2 ) y sustituyendo el valor X = 1, obtenemos:
18 + 6 + 6 + 9 = 39.
Entrada: str = “4x 3 + 2x 2 + 3x”, N = 2
Salida: 27
Enfoque: La idea es utilizar la identidad de la integración. Para alguna función X dada con la potencia de N, la integración de este término viene dada por:
Por lo tanto, se siguen los siguientes pasos para calcular la respuesta:
- Consigue la cuerda.
- Divida la string y realice la integración según la fórmula anterior.
- Sustituye el valor de N en la expresión obtenida.
- Sume todos los valores individuales para obtener el valor integral final.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find the integration // of the given polynomial for the // value N #include <bits/stdc++.h> using namespace std; typedef long long ll; // Function to return the integral // of the given term double inteTerm(string pTerm, ll val) { // Get the coefficient string coeffStr = ""; int i; // Loop to iterate through the string // and get the coefficient for (i = 0; pTerm[i] != 'x'; i++) coeffStr.push_back(pTerm[i]); ll coeff = atol(coeffStr.c_str()); // Get the Power string powStr = ""; // Loop to skip 2 characters for x and ^ for (i = i + 2; i != pTerm.size(); i++) powStr.push_back(pTerm[i]); ll power = atol(powStr.c_str()); // Return the computed integral return (coeff * pow(val, power + 1)) / (power + 1); } // Functionto find the integration // of the given polynomial for the // value N double integrationVal(string poly, int val) { ll ans = 0; // Using string stream to get the // input in tokens istringstream is(poly); string pTerm; while (is >> pTerm) { // If the token is equal to '+' then // continue with the string if (pTerm == "+") continue; // Otherwise find the integration // of that particular term else ans = (ans + inteTerm(pTerm, val)); } return ans; } // Driver code int main() { string str = "4x^3 + 3x^1 + 2x^2"; int val = 2; cout << integrationVal(str, val); return 0; }
Java
// Java program for the above approach public class GFG { // Function to return the integral // of the given term static int inteTerm(String pTerm, int val) { // Get the coefficient String coeffStr = ""; // Loop to iterate through // the string and get the // coefficient int i = 0; while (i < pTerm.length() && pTerm.charAt(i) != 'x') { coeffStr += pTerm.charAt(i); i += 1; } int coeff = Integer.parseInt(coeffStr); // Get the Power String powStr = ""; // Loop to skip 2 characters // for x and ^ int j = i + 2; while(j< pTerm.length()) { powStr += (pTerm.charAt(j)); j += 1; } int power = Integer.parseInt(powStr); // Return the computed integral return ((coeff * (int)Math.pow(val, power + 1)) / (power + 1)); } // Functionto find the integration // of the given polynomial for the // value N static int integrationVal(String poly, int val) { int ans = 0; // Using string stream to // get the input in tokens String[] stSplit = poly.split(" \\+ "); int i = 0; while(i < stSplit.length) { ans = (ans + inteTerm(stSplit[i], val)); i += 1; } return ans; } // Driver code public static void main(String[] args) { String st = "4x^3 + 3x^1 + 2x^2"; int val = 2; System.out.println(integrationVal(st, val)); } } // This code is contributed by divyesh072019.
Python3
# Python3 program to find # the integration of the # given polynomial for the # value N # Function to return the integral # of the given term def inteTerm(pTerm, val): # Get the coefficient coeffStr = "" # Loop to iterate through # the string and get the # coefficient i = 0 while (i < len(pTerm) and pTerm[i] != 'x'): coeffStr += pTerm[i] i += 1 coeff = int(coeffStr) # Get the Power powStr = "" # Loop to skip 2 characters # for x and ^ j = i + 2 while j< len(pTerm): powStr += (pTerm[j]) j += 1 power = int(powStr) # Return the computed integral return ((coeff * pow(val, power + 1)) // (power + 1)) # Functionto find the integration # of the given polynomial for the # value N def integrationVal(poly, val): ans = 0 # Using string stream to # get the input in tokens stSplit = poly.split("+") i = 0 while i < len(stSplit): ans = (ans + inteTerm(stSplit[i], val)) i += 1 return ans # Driver code if __name__ == "__main__": st = "4x^3 + 3x^1 + 2x^2" val = 2 print(integrationVal(st, val)) # This code is contributed by Chitranayal
C#
// C# program for the above approach using System; using System.Collections.Generic; class GFG { // Function to return the integral // of the given term static int inteTerm(string pTerm, int val) { // Get the coefficient string coeffStr = ""; // Loop to iterate through // the string and get the // coefficient int i = 0; while (i < pTerm.Length && pTerm[i] != 'x') { coeffStr += pTerm[i]; i += 1; } int coeff = Convert.ToInt32(coeffStr); // Get the Power string powStr = ""; // Loop to skip 2 characters // for x and ^ int j = i + 2; while(j< pTerm.Length) { powStr += (pTerm[j]); j += 1; } int power = Convert.ToInt32(powStr); // Return the computed integral return ((coeff * (int)Math.Pow(val, power + 1)) / (power + 1)); } // Functionto find the integration // of the given polynomial for the // value N static int integrationVal(string poly, int val) { int ans = 0; // Using string stream to // get the input in tokens string[] stSplit = poly.Split('+'); int i = 0; while(i < stSplit.Length) { ans = (ans + inteTerm(stSplit[i], val)); i += 1; } return ans; } // Driver code static void Main() { string st = "4x^3 + 3x^1 + 2x^2"; int val = 2; Console.WriteLine(integrationVal(st, val)); } } // This code is contributed by divyeshrabadiya07.
Javascript
<script> // Javascript program for the above approach // Function to return the integral // of the given term function inteTerm(pTerm,val) { // Get the coefficient let coeffStr = ""; // Loop to iterate through // the string and get the // coefficient let i = 0; while (i < pTerm.length && pTerm[i] != 'x') { coeffStr += pTerm[i]; i += 1; } let coeff = parseInt(coeffStr); // Get the Power let powStr = ""; // Loop to skip 2 characters // for x and ^ let j = i + 2; while(j< pTerm.length) { powStr += (pTerm[j]); j += 1; } let power = parseInt(powStr); // Return the computed integral return Math.floor((coeff * Math.floor(Math.pow(val, power + 1))) / (power + 1)); } // Functionto find the integration // of the given polynomial for the // value N function integrationVal(poly,val) { let ans = 0; // Using string stream to // get the input in tokens let stSplit = poly.split(" + "); let i = 0; while(i < stSplit.length) { ans = (ans + inteTerm(stSplit[i], val)); i += 1; } return ans; } // Driver code let st = "4x^3 + 3x^1 + 2x^2"; let val = 2; document.write(integrationVal(st, val)); // This code is contributed by avanitrachhadiya2155 </script>
27
Publicación traducida automáticamente
Artículo escrito por RishavSinghMehta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA