Phương trình bậc hai


Submit solution

Points: 1 (partial)
Time limit: 1.0s
Memory limit: 98M

Author:
Problem types
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Giải và biện luận phương trình sau, với a, b, c là 3 giá trị thực nhập vào từ bàn phím, giải ra nghiệm thực

\[ax^2+bx+c=0\]

Input

Một dòng gồm 3 số thực tương ứng với a, b, c (-1000 <= a,b <= 1000) mỗi số cách nhau bởi ít nhất một khoảng trắng

Output

  1. Nếu phương trình vô số nghiệm in ra "vo so nghiem" (khônng có dấu nháy "")
  2. Nếu phương trình vô nghiệm in ra "vo nghiem" (không có dấu nháy "")
  3. Nếu phương trình có một nghiệm xuất ra nghiệm đó với độ chính xác 3 chữ số sau dấu chấm thập phân
  4. Nếu phương trình có hai nghiệm phân biệt thì xuất ra nghiệm bé ở dòng trên nghiệm lớn ở dòng dưới độ chính xác 3 chữ số sau dấu chấm thập phân

Ví dụ 1.

Input

0.0 0.0 0.0

Output

vo so nghiem

Ví dụ 2.

Input

1.0 -3.0 2.0

Output

1.000    
2.000

Comments


  • 0
    tnc2604  commented on Sept. 17, 2020, 11:01 a.m. edited
    #include<stdio.h>
    #include<math.h>
    // fb: cuongngoctran
    int main() {
    
     double a,b,c,x,delta,x1,x2;
        scanf("%lf%lf%lf",&a,&b,&c);
        if (a==0)
        { if (b==0)
        { if (c==0) printf ("vo so nghiem");
        else printf ("vo nghiem");}
        else { printf ("%0.3lf",x=-c/b);}}
        else {delta=b*b-4*a*c;
        if (delta < 0) printf("vo nghiem");
        else if (delta ==0) printf ("%0.3lf",x= -b/(2*a));
        else { x1=(-b+sqrt (delta))/(2*a);x2 =(-b-sqrt(delta))/(2*a);
        if (x1 <x2) printf ("%0.3lf \n %0.3lf",x1=(-b+sqrt (delta))/(2*a), x2=(-b-sqrt(delta))/(2*a));
        else  printf ("%0.3lf \n %0.3lf",x2=(-b-sqrt (delta))/(2*a), x1=(-b+sqrt(delta))/(2*a)) ;}
        }
    
    }

  • -1
    congdang98kdhy  commented on Nov. 20, 2017, 3:01 p.m. edit 2

    include <stdio.h>

    #include <math.h>
    int main ()
    {
        float a,b,c,delta,x1,x2;
        scanf("%f%f%f",&a,&b,&c);
        if (a==0)
        {
            if (b==0)
            {
                if (c==0) printf("vo so nghiem");
                else printf("vo nghiem");
            }
            else 
            {
                x1=-b/c;
                printf("%.3f",x1);
            }
        }
        else 
        {
            delta=b*b-4*a*c;
            if(delta<0) printf("vo nghiem");
            else if(delta==0) 
            {
                x1=-b/(2*a);
                printf("%.3f",x1);
            }
            else (delta>0)
            {
                x1=(-b+sqrt(delta))/(2*a);
                x2=(-b-sqrt(delta))/(2*a);
                printf("\n%.3f",x2);
                printf("\n%.3f",x1);
            }
        }
    }