poniedziałek, 5 lutego 2018

00022 - 969 - Równanie kwadratowe - www.pl.spoj.com

Treść zadania:

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