Hướng dẫn giải của Giải phương trình


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Tác giả: Hieu Nguyen

Các bạn để ý hệ số ~a~ có thể bằng ~0~, do đó lời giải của bạn cần có 2 trường hợp:

  • ~a = 0~ thì thực hiện giải phương trình bậc nhất 1 ẩn ~bx + c = 0~,
  • ~a \neq 0~ thì thực hiện giải phương trình bậc 2

Lưu ý trường hợp có 2 nghiệm thì in nghiệm nhỏ hơn trước.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    hohoanghai5042011  đã bình luận lúc 5, Tháng 3, 2024, 9:13

    #include <bits/stdc++.h>

    using namespace std;

    float a,b,c,tmp,x1,x2;

    int main(){

    cin>>a>>b>>c;
    
    if(a==0){
    
        if(b==0){
    
            if (c==0)
    
                cout<<"WOW";
    
            else
    
                cout<<"NO";
    
        }
    
        else
    
            cout << -c/b << endl;
    
    }
    
    else{
    
        tmp=b*b-4*a*c;
    
        if(tmp > 0){
    
            x1=(-b+sqrt(tmp))/(2*a);
    
            x2=(-b-sqrt(tmp))/(2*a);
    
            cout.precision(2);
    
            cout << fixed << x2 <<' ';
    
            cout << fixed << x1;
    
        }
    
        else if (tmp==0)
    
            cout <<-b/2*a <<' ';
    
        else
    
            cout << "NO";
    
    }
    

    }


  • -1
    satouakira2005  đã bình luận lúc 30, Tháng 1, 2024, 4:41

    cho em hỏi test2 là gì ạ


  • 0
    HuyHoang12345  đã bình luận lúc 9, Tháng 1, 2024, 14:57

    test 10 là gì vậy ạ


  • 0
    211_VoThanhHai  đã bình luận lúc 17, Tháng 11, 2023, 1:25

    "Output của bạn (đã được lược bỏ) -inf -nan Phản hồi từ trình chấm 1st line differs, judge's output has 1 token(s), participant's output has 2"

    lỗi này là gì vậy mọi người


  • 0
    duong123  đã bình luận lúc 4, Tháng 10, 2023, 14:47

    +