3260 - Invers: Difference between revisions
Pagină nouă: == Cerința == Veșnicul Gigel vrea să dea la Facultatea de Informatică din Iași pentru că e #ceaMaiTare. De asta s-a apucat de probleme pe pbinfo și a dat peste următoarea problema ce i-a plăcut atât de mult încât vă provoacă și pe voi să o rezolvați: Se dă funcția și o valoare . Știind că funcția este strict crescătoare pe intervalul , se cere să se gasească pentru ce avem că (aproximare cu 8 zecimale). == Date de intrare == Se citește de l... |
|||
Line 14: | Line 14: | ||
* pentru orice 0<=y<2.7 vom avea ca 0<=x<1 | * pentru orice 0<=y<2.7 vom avea ca 0<=x<1 | ||
== | == Exemplul 1 == | ||
Intrare 1.34 | Intrare: | ||
1.34 | |||
Ieșire 0.35083179 | Ieșire: | ||
0.35083179 | |||
== Exemplu 2 == | == Exemplu 2 == |
Revision as of 14:16, 8 December 2023
Cerința
Veșnicul Gigel vrea să dea la Facultatea de Informatică din Iași pentru că e #ceaMaiTare. De asta s-a apucat de probleme pe pbinfo și a dat peste următoarea problema ce i-a plăcut atât de mult încât vă provoacă și pe voi să o rezolvați:
Se dă funcția și o valoare . Știind că funcția este strict crescătoare pe intervalul , se cere să se gasească pentru ce avem că (aproximare cu 8 zecimale).
Date de intrare
Se citește de la tastatura valoarea .
Date de ieșire
0<= x <1 afișat cu o aproximare de 8 zecimale precise.
Restricții și precizări
- pentru orice 0<=y<2.7 vom avea ca 0<=x<1
Exemplul 1
Intrare:
1.34
Ieșire:
0.35083179
Exemplu 2
Intrare 3
Ieșire Valoarea lui y nu respectă restricțiile.<syntaxhighlight lang="python3" line="1"> import math
def f(x):
return math.sin(x) + math.sin(2*x) + x
def verifica_restrictie(y):
return 0 <= y <= 2.7
def aproximare_bisectie(y):
epsilon = 1e-8 # Precizia dorită a, b = 0, 1 # Intervalul [0, 1)
while b - a > epsilon: mid = (a + b) / 2 if f(mid) < y: a = mid else: b = mid
return (a + b) / 2
def main():
y = float(input("Introduceți valoarea y: ")) if verifica_restrictie(y): rezultat = aproximare_bisectie(y) print(f"{rezultat:.8f}") else: print("Valoarea lui y nu respectă restricțiile.")
if __name__ == "__main__":
main()
</syntaxhighlight>