Napisz program, który wyznacza liczbę pierwiastków rzeczywistych równania kwadratowego.
Wejście
Na wejście programu podana zostanie pewna nieokreślona, ale niewielka ilość zestawów danych. Każdy zestaw składać się będzie z 3 liczb rzeczywistych (współczynników A, B i C równania Ax^2 + Bx + C = 0) rozdzielonych spacjami. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii. Można przyjąć, że A jest różne od zera.
Wyjście
Na wyjściu ma się pojawić ciąg liczbowy, którego i-ta pozycja jest równa liczbie pierwiastków rzeczywistych i-tego wczytanego z wejścia równania. Poszczególne liczby należy rozdzielić znakami nowej linii.
Przykład
Wejście:
0.3 0.3 0.4
0.5 1 0.5
-0.5 -0.5 0
Wyjście:
0
1
2
Kod źródłowy w C:
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { double a, b, c, d; int output; for(;scanf("%lf%lf%lf",&a,&b,&c)!=EOF;) { output=0; d=(b*b)-(4*a*c); if (d==0) { ++output; } if (d>0) { output+=2; } printf("%d\n",output); } return 0; }
Kod źródłowy w C++:
#include <iostream> #include <math.h> using namespace std; int main() { double a, b, c, d; int output; for(;cin>>a>>b>>c;) { output=0; d=(b*b)-(4*a*c); if (d==0) { ++output; } if (d>0) { output+=2; } cout<<output<<endl; } return 0; }
Źródło: http://pl.spoj.com/problems/ROWNANIE/
Brak komentarzy:
Prześlij komentarz