Trang chủ Tin Học Lớp 8 Tìm code của bài dưới đây bằng C++: - Giải phương trìnhViết chương trình giải phương trình có dạng tổng...
Câu hỏi :

Tìm code của bài dưới đây bằng C++: - Giải phương trình

image

Tìm code của bài dưới đây bằng C++: - Giải phương trìnhViết chương trình giải phương trình có dạng tổng quát: ar2 +b+c=0. Input 3 số nguyên a, b, c lần lượt là

Lời giải 1 :

`* C++:`

`" "`

#include <bits/stdc++.h>
using namespace std;

int main()
{
    float a, b, c;
    cin >> a >> b >> c;
    
    double delta = b * b - 4 * a * c;
    
    if (a != 0) {
        if (delta < 0) {
            cout << "NO";
        }
        else {
            delta = pow(delta, 0.5);
            if (delta == 0) {
                cout << setprecision(2) << fixed << (-b) / (2 * a);
            }
            else {
                cout << setprecision(2) << fixed << (-b - delta) / (2 * a) << " ";
                cout << setprecision(2) << fixed << (-b + delta) / (2 * a);
            }
        }
    }
    
    else {
        if (b == 0) {
            if (c == 0) 
                cout << "WOW";
            else
                cout << "NO";
        }
        else 
            cout << setprecision(2) << fixed << -c / b;
    }
        
    
    return 0;
}

`" "`

`*` a = 0 → Giải phương trình bậc 1: bx + c = 0

      `*` b = 0 và c = 0 → Vô số nghiệm

      `*` b = 0 và c $\neq$ → Vô nghiệm

      `*` b $\neq$ 0 → Nghiệm x = `(-c) / b`

`*` a $\neq$ 0 → Giải phương trình bậc 2

      `*` Δ = b² - 4ac

      `*` Δ > 0 → Phương trình có 2 nghiệm phân biệt

      `*` Δ < 0 → Phương trình vô nghiệm

      `*` Δ = 0 → Phương trình có 1 nghiệm kép

Lời giải 2 :

#include <iostream>
#include <math.h>
using namespace std;
int main(){
    int a, b, c ; cin >> a >> b >> c ;
    
    // xét trường hợp a = 0
    if (a==0){
        // nếu b = 0, c = 0 - vô số nghiệm
        if ((b==0)&&(c==0)) cout << "WOW";
        
        // nếu b = 0 và c != 0 - vô nghiệm
        else if ((b==0)&&(c!=0)) cout <<  "NO";
        
        // trường hợp còn lại 
        // a = 0, b, c != 0
        else printf("%.2f",(-c*1.0/b*1.0));
    }
    // a != 0
    else {
        
        // tính delta
        double delta = (b * b) - 4 * a * c ;
        // nếu delta > 0 : 2 nghiệm phân biệt
        
        if (delta>0){
            double x1 = (-b+sqrt(delta))*1.0 / (2*1.0*a) ;
            double x2 = (-b-sqrt(delta))*1.0 / (2*1.0 *a) ;
            if (x1>x2) swap(x1,x2);
            printf("%.2f %.2f",x1,x2);
        }
        
        // nếu delta = 0 : nghiệm kép
        else if (delta==0) printf("%.2f",((-b*1.0)/(2*a*1.0))) ;
        
        // nếu delta < 0 : vô nghiệm
        else if (delta<0) cout << "NO";
    }
    
}

image

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK