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
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
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Ạ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