এই নিবন্ধে আমরা বুঝবো কিভাবে জাভাতে একটি দ্বিঘাত সমীকরণের মূল (roots) গণনা করতে হয়। দ্বিঘাত সমীকরণ হলো দ্বিতীয় ডিগ্রির একটি বীজগাণিতিক অভিব্যক্তি বা অন্য কথায় এর দুটি ফলাফল থাকে - একটি বাস্তব সংখ্যা এবং একটি কাল্পনিক সংখ্যা।
নিচে এর একটি প্রদর্শন দেওয়া হলো:
একটি দ্বিঘাত সমীকরণ ax² + bx + c দেওয়া থাকলে:
তিনটি পরিস্থিতি হয়: b² < 4ac - মূলগুলো বাস্তব নয় অর্থাৎ স kompleks b² = 4ac - মূলগুলো বাস্তব এবং দুটি মূল একই b² > 4ac - মূলগুলো বাস্তব এবং দুটি মূল আলাদা
ইনপুট
মনে করুন আমাদের ইনপুট হলো:
a = 1, b = 2, c = 3
আউটপুট
প্রত্যাশিত আউটপুট হবে:
The roots of the quadratic equation are root_1 = -1.00+1.41i root_2 = -1.00-1.41i
অ্যালগরিদম
ধাপ ১ - শুরু ধাপ ২ - ছয়টি double মান ঘোষণা করুন: a, b, c, root_1, root_2, quadratic_equation ধাপ ৩ - ব্যবহারকারীর কাছ থেকে a, b, c মান পড়ুন / মান সংজ্ঞায়িত করুন ধাপ ৪ - মানগুলো পড়ুন ধাপ ৫ - quadratic_equation ভেরিয়েবলের মান ০-এর চেয়ে বড় কিনা চেক করুন, যদি true হয় তবে দ্বিঘাত সূত্র ব্যবহার করে মান বের করুন এবং একটি ভেরিয়েবলে বরাদ্দ করুন ধাপ ৬ - ফলাফল প্রদর্শন করুন ধাপ ৭ - শেষ
উদাহরণ ১
এখানে ব্যবহারকারী প্রম্পট অনুযায়ী ইনপুট দিচ্ছেন। আপনি আমাদের কোডিং গ্রাউন্ড টুলে এই উদাহরণটি লাইভ চেষ্টা করতে পারেন
।
import java.util.Scanner;
public class QuadraticEquation {
public static void main(String[] args) {
double a, b, c, root_1, root_2, quadratic_equation;
double real_number, imaginary_number;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A scanner object has been defined ");
System.out.print("Enter the value of a : ");
a = my_scanner.nextDouble();
System.out.print("Enter the value of b : ");
b = my_scanner.nextDouble();
System.out.print("Enter the value of c : ");
c = my_scanner.nextDouble();
quadratic_equation = b*b - 4*a*c;
if (quadratic_equation > 0) {
root_1 = (-b + Math.sqrt(quadratic_equation)) / (2 * a);
root_2 = (-b - Math.sqrt(quadratic_equation)) / (2 * a);
System.out.format("root_1 = %.2f and root_2 = %.2f", root_1, root_2);
}
else if (quadratic_equation == 0) {
root_1 = root_2 = -b / (2 * a);
System.out.format("root_1 = root_2 = %.2f;", root_1);
} else {
real_number = -b / (2 * a);
imaginary_number = Math.sqrt(-quadratic_equation) / (2 * a);
System.out.println("The roots of the quadratic equation are");
System.out.printf("root_1 = %.2f+%.2fi", real_number, imaginary_number);
System.out.printf("\nroot_2 = %.2f-%.2fi", real_number, imaginary_number);
}
}
}
আউটপুট
Required packages have been imported A scanner object has been defined Enter the value of a : 1 Enter the value of b : 2 Enter the value of c : 3 The roots of the quadratic equation are root_1 = -1.00+1.41i root_2 = -1.00-1.41i
উদাহরণ ২
এখানে মানগুলো পূর্বে সংজ্ঞায়িত করা হয়েছে, এবং কনসোলে অ্যাক্সেস করে প্রদর্শন করা হয়েছে।
public class QuadraticEquation {
public static void main(String[] args) {
double a, b, c, root_1, root_2, quadratic_equation;
double real_number, imaginary_number;
a = 1;
b = 2;
c = 3;
System.out.println("The three numbers are defined as " + a + ", " + b + " and " + c);
quadratic_equation = b*b - 4*a*c;
if (quadratic_equation > 0) {
root_1 = (-b + Math.sqrt(quadratic_equation)) / (2 * a);
root_2 = (-b - Math.sqrt(quadratic_equation)) / (2 * a);
System.out.format("root_1 = %.2f and root_2 = %.2f", root_1, root_2);
}
else if (quadratic_equation == 0) {
root_1 = root_2 = -b / (2 * a);
System.out.format("root_1 = root_2 = %.2f;", root_1);
}
else {
real_number = -b / (2 * a);
imaginary_number = Math.sqrt(-quadratic_equation) / (2 * a);
System.out.println("The roots of the quadratic equation are");
System.out.printf("root_1 = %.2f+%.2fi", real_number, imaginary_number);
System.out.printf("\nroot_2 = %.2f-%.2fi", real_number, imaginary_number);
}
}
}
আউটপুট
The three numbers are defined as 1.0, 2.0 and 3.0 The roots of the quadratic equation are root_1 = -1.00+1.41i root_2 = -1.00-1.41i