[C++] Znalezienie liczb dających sumę i iloczyn

panky
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 26 mar 2014, o 20:57
Płeć: Mężczyzna
Lokalizacja: Środa

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: panky »

Witam.
Mam problem z pewnym zadaniem o treści:
"dane są suma i iloczyn dwóch liczb całkowitych. Napisz program znajdujący te liczby".

Nie mam zupełnie pomysłu na to zadanie. W ogóle jakiej formuły użyć i działań?
Wiem, że \(\displaystyle{ a+b=s}\) oraz \(\displaystyle{ a \cdot b=i.}\) S oraz i wprowadza użytkownik, tylko jak wyznaczyć \(\displaystyle{ a}\) i \(\displaystyle{ b}\)?
Ostatnio zmieniony 30 mar 2014, o 10:21 przez Afish, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Awatar użytkownika
Althorion
Użytkownik
Użytkownik
Posty: 4541
Rejestracja: 5 kwie 2009, o 18:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 9 razy
Pomógł: 662 razy

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: Althorion »

\(\displaystyle{ \begin{cases} a+b = s \\ ab = i \end{cases} \Rightarrow a, b = \frac{s - \sqrt{s^2-4i}}{2}, \frac{s + \sqrt{s^2-4i}}{2}}\)
(zwróć uwagę, że to para nieuporządkowana, tzn. dopuszczalny wynik jest w takiej bądź odwrotnej kolejności — jedna z nich jest z plusem, druga z minusem, ale wszystko jedno która)
Awatar użytkownika
rtuszyns
Użytkownik
Użytkownik
Posty: 2042
Rejestracja: 29 gru 2006, o 23:24
Płeć: Mężczyzna
Lokalizacja: Zamość
Podziękował: 1 raz
Pomógł: 229 razy

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: rtuszyns »

\(\displaystyle{ \begin{cases} a+b=s \\ ab=i \end{cases}}\)
Należy rozwiązać powyższy układ równań względem \(\displaystyle{ a}\) oraz \(\displaystyle{ b}\).
Zaprogramowanie później jest banalne.
W jakim języku masz to zaprogramować?
Pamiętaj o warunkach na \(\displaystyle{ s}\) oraz \(\displaystyle{ i}\)...

PS. Używaj na przyszłość \(\displaystyle{ \LaTeX}\)a do zapisywania wyrażeń matematycznych.
--------
Spóźniony...
panky
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 26 mar 2014, o 20:57
Płeć: Mężczyzna
Lokalizacja: Środa

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: panky »

Ok, dziękuje. Jeszcze chwilkę się pomęczyłem z zapisaniem tego i działa.
Kod (pierwiastków) wygląda następująco(w c++):

Kod: Zaznacz cały

   a=(s-sqrt(pow(s, 2)-4*i))/2;

   b=(s+sqrt(pow(s, 2)-4*i))/2;
Ostatnio zmieniony 30 mar 2014, o 10:22 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
Althorion
Użytkownik
Użytkownik
Posty: 4541
Rejestracja: 5 kwie 2009, o 18:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 9 razy
Pomógł: 662 razy

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: Althorion »

Uwzględnij fakt, że pierwiastek z liczby ujemnej nie jest liczbą rzeczywistą. W szczególności więc, jeśli funkcję sqrt przywołujesz z biblioteki cmath, a nie z complex, to powyższy kod ma święte prawo nie działać (powstanie domain error — a co to konkretnie oznacza, zależy już od standardu C++, z którego korzystasz; w starszym standardzie (C++98) zmienna errno zostanie ustalona na EDM, C++11 można ustawić tak, by zamiast tego rzucał wyjątek FE_INVALID).
panky
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 26 mar 2014, o 20:57
Płeć: Mężczyzna
Lokalizacja: Środa

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: panky »

Tak, zapisałem odpowiedni warunek.
A załączyłem math.h w tym przypadku.
Awatar użytkownika
Althorion
Użytkownik
Użytkownik
Posty: 4541
Rejestracja: 5 kwie 2009, o 18:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 9 razy
Pomógł: 662 razy

[C++] Znalezienie liczb dających sumę i iloczyn

Post autor: Althorion »

Skoro piszesz w C++, używaj cmath.
ODPOWIEDZ