Cách Giải Phương Trình Bậc 3 Trong C 2 Trong C, Giải Phương Trình Bậc 3

Ý tưởng giải phương trình bậc 4 trùng phương

Ta có thể giải phương trình (1) theo các bước như sau

Để giải phương bậc 4 trùng phương thì ta quy nó về phương trình bậc 2 với X = x2Ta tiến hành chọn các nghiệm X thỏa mãn tính chất X lớn hơn hoặc bằng 0.Với nghiệm X = 0 thì ta suy ra phương trình (1) có nghiệm x = 0Với nghiệm X > 0 thì ta suy ra phương trình (1) có hai nghiệm x = ± sqrt(X)

Nếu bạn chưa biết cách giải phương trình bậc 2 trong c++ thì các bạn nên xem lại bài viết này.

Đang xem: Giải phương trình bậc 3 trong c

Xây dựng hàm giải phương trình bậc 4 trùng phương

Mình sẽ tận dụng lại code giải phương trình bậc 2 ở bài trước để giải bài tập này. Nếu các bạn muốn tự viết lại hàm giải phương trình bậc 4 trên thì mình rất khuyến khích!

Ta quy phương trình (1) về phương trình sau:

aX2 + bX + c = 0 (2)

Hàm giải phương trình bậc 2:

0
1
2
3
4
int giaiPT(float a, float b, float c,float &x1, float &x2) {
//code
}

Trong đó hàm trên sẽ trả về số nghiệm của phương trình.

Có hai tham chiếu x1, x2 được trả về chính là hai nghiệm ( X1 và X2 nếu có).

Xem thêm: Các Dạng Toán Tính Diện Tích Hình Thoi Lớp 4 (Có Đáp Án), Toán Nâng Cao Lớp 4

Ta có thể biện luận số nghiệm của phương trình (1) như sau:

Số nghiệm của phương trình (2) Nghiệm X1 Nghiệm X2 Số nghiệm của phương trình (1)
Vô nghiệm Vô nghiệm
Nghiệm kép 0 0 Có một nghiệm x =0
>0 >0 Có hai nghiệm
0 Có ba nghiệm
0 0 Có hai nghiệm
>0 >0 Có bốn nghiệm

Từ bảng trên thì ta đã có thể biện luận số nghiệm của phương trình 1 rồi phải không nào !

Cùng xây dựng chương trình giải phương trình bậc 4 trùng phương thôi.

Code tham khảo

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include
#include
using namespace std;
int giaiPT(float a, float b, float c, float &x1, float &x2) {
float delta = b * b – 4 * a*c;
if (delta 0) {
x1 = x2 = 0.0;
return 0;
}
else if (delta == 0) {
x1 = x2 = -b / (2 * a);
return 1;
}
else {
delta = sqrt(delta);
x1 = (-b + delta) / (2 * a);
x2 = (-b – delta) / (2 * a);
return 2;
}
}
int main() {
float X1, X2, a, b, c;
do {
cout”Nhap a (a!=0): “;
cin >> a;
cout”Nhap b: “;
cin >> b;
cout”Nhap c: “;
cin >> c;
} while (!a); //nếu a=0 thì nhập lại
if (giaiPT(a, b, c, X1, X2) == 0) {
cout “Phuong trinh vo nghiem”;
}
else if( giaiPT(a, b, c, X1, X2) == 1 ){
if (X1 0)
cout “Phuong trinh vo nghiem”;
else if (X1 == 0)
cout “Phuong trinh co mot nghiem x: ” 0;
else {
cout”Phuong trinh co hai nghiem”endl;
cout “x1: ” sqrt(X1) endl;
cout “x2: ” -sqrt(X1) endl;
}
}
else {
if (X1 0) {
if(X2 0)
cout “Phuong trinh vo nghiem”;
else if(X2 == 0)
cout “Phuong trinh co mot nghiem x: ” 0;
else {
cout “Phuong trinh co hai nghiem” endl;
cout “x1: ” sqrt(X2) endl;
cout “x2: ” -sqrt(X2) endl;
}
}
else if (X1 == 0) {
if(X2 0)
cout “Phuong trinh co mot nghiem x: ” 0;
else {
cout “Phuong trinh co ba nghiem” endl;
cout “x1: ” sqrt(X2) endl;
cout “x2: ” -sqrt(X2) endl;
cout “x3: ” 0;
}
//X2 không thể bằng 0 nếu bằng 0 thì là nghiệm kép
}
else {
if (X2 0) {
cout “Phuong trinh co hai nghiem” endl;
cout “x1: ” sqrt(X1) endl;
cout “x2: ” -sqrt(X1) endl;
}
else if (X2 == 0) {
cout “Phuong trinh co ba nghiem” endl;
cout “x1: ” sqrt(X1) endl;
cout “x2: ” -sqrt(X1) endl;
cout “x3: ” 0;
}
else {
cout “Phuong trinh co bon nghiem” endl;
cout “x1: ” sqrt(X1) endl;
cout “x2: ” -sqrt(X1) endl;
cout “x3: ” sqrt(X2) endl;
cout “x4: ” -sqrt(X2) endl;
}
}
}
system(“pause”);
return 0;
}
0
1
2
3
4
5
6
7
Nhap a (a!=0): 1
Nhap b: -2
Nhap c: 1
Phuong trinh co hai nghiem
x1: 1
x2: -1

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

TAGS
Facebook
Twitter
Pinterest
WhatsApp

*
*

Giới thiệu website Luyện Code Online

*

Tổng hợp tài liệu lập trình C/C++ cho người mới

*

Sự khác nhau giữa C và C++ là gì?

*

Học lập trình online với mức giá ưu đãi

Bảng băm – Hash tables

1000 bài tập lập trình C/C++ có lời giải của thầy Khang

Subscribe
Connect with
Notify of
new follow-up comments
Label
Name*
Email*
Website
Connect with
Label
Name*
Email*
Website
3 Bình luận
Inline Feedbacks
View all comments
Load More Comments
Khóa học miễn phí

Lập Trình Không Khó là một cộng đồng chia sẻ và đào tạo lập trình phi lợi nhuận hàng đầu tại Việt Nam.

Xem thêm: Giải Bài Tập Toán Lớp 5 Trang 101 Tập 1, Vở Bài Tập Toán 5 Trang 101

Liên hệ hoặc Hợp tác & Quảng cáo
Blogger
Facebook
Linkedin
RSS
Youtube

BÀI VIẾT HAY

Bài 1. Giới thiệu khóa học “Học C Bá Đạo”

1000 bài tập lập trình C/C++ có lời giải của thầy Khang

Kiểm tra số nguyên tố sử dụng C/C++ và Java

CHUYÊN MỤC HAY

– BẠN BÈ & ĐỐI TÁC –

© 2018-2020. Bản quyền thuộc Lập Trình Không Khó. Privacy & Terms

3
0
Would love your thoughts, please comment.x
()
x
| Reply
Insert
NHIỀU BÀI VIẾT HƠN

In ra hình chữ nhật có kích thước m x n

Tính tổng tất cả “ước số” của số nguyên dương n.

Xem thêm bài viết thuộc chuyên mục: Phương trình