Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để tìm gốc của phương trình bậc hai

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để tìm nghiệm nguyên của phương trình bậc hai.

Cho phương trình bậc hai có dạng ax2 + bx + c. Nhiệm vụ của chúng ta là tìm nghiệm x1 và x2 của phương trình đã cho.

Đối với điều này, chúng tôi đang sử dụng phương pháp xác định, trong điều này

D =√b 2 - 4ac

thì nghiệm nguyên của phương trình sẽ là

x1 =(-b + D) / 2a và

x2 =(-b - D) / 2a

Ví dụ

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
//calculating the roots of equation
void calc_roots(int a, int b, int c) {
   if (a == 0) {
      printf("Invalid Equation");
      return;
   }
   int d = b*b - 4*a*c;
   double sqrt_val = sqrt(abs(d));
   if (d > 0) {
      printf("Roots are both real and different \n");
      printf("%f\n%f",(double)(-b + sqrt_val)/(2*a) , (double)(-b - sqrt_val)/(2*a));
   }
   else if (d == 0) {
      printf("Roots are real and same \n");
      printf("%f",-(double)b / (2*a));
   } else {
      printf("Roots are complex \n");
      printf("%f + i%f\n%f - i%f", -(double)b /(2*a),sqrt_val ,-(double)b / (2*a), sqrt_val);
   }
}
int main() {
   int a = 2, b = -5, c = 8;
   calc_roots(a, b, c);
   return 0;
}

Đầu ra

Roots are complex
1.250000 + i6.244998
1.250000 - i6.244998