Code Giải Phương Trình Bậc 4 Trùng Phương Bằng Code C++, Công Thức Tính Delta Phương Trình Bậc 4

Ý 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: Code giải phương trình bậc 4

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: Unlock Excel Online

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.

Xem thêm: file excel sổ sách kế toán theo thông tư 133

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 !

source: nguyenvanhieu.vn
nguyenvanhieu.vnlập trình c/c++
V vantam

Read more posts by this author.

Read More
Latest Posts
— lingocard.vn —

nguyenvanhieu.vn

*

lingocard.vn

Thuật toán giải phương trình bậc 4 trùng phương bằng code c++
Share this
lingocard.vn © 2021Latest PostsNewsraoxyzcongtyaz

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