Условие задачи
Решить систему двух линейных уравнений с двумя неизвестными по формулам Крамера. Система уравнений, приведенная во входных данных, имеет вид:
$\begin{cases} 5x_1+8x_2=11 \\ -3x_1+6x_2=15 \end{cases}$
Входные данные
Первая строка содержит коэффициенты первого уравнения, а вторая строка содержит коэффициенты второго. Все входные числа разделены одним пробелом и не превышают по модулю $100$.
Выходные данные
Первый корень системы уравнений вывести в первой строке, а второй корень во второй строке с точностью до $0.001$.
Тесты
Входные данные | Выходные данные |
---|---|
5 8 1
|
-1.000
|
5 5 5
|
-2.000
|
1 2 3
|
-1.000
|
25 15 16
|
-0.022
|
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import java.io.BufferedReader; import java.io.InputStreamReader; class Main { public static void main (String[] args) throws java.lang.Exception { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); double matrix[][] = new double[3][2]; for (int i = 0; i < 2; ++i){ String[] params1 = bufferedReader.readLine().split(" "); for (int j = 0; j < 3; ++j){ matrix[j][i] = Float.parseFloat(params1[j]); } } double d = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]; double d1 = matrix[2][0] * matrix[1][1] - matrix[2][1] * matrix[1][0]; double d2 = matrix[0][0] * matrix[2][1] - matrix[0][1] * matrix[2][0]; System.out.printf("%.3f\n%.3f\n", d1 / d, d2 / d); } } |
Решение задачи
Создаем матрицу размером $3$ на $2$, так как у нас $3$ переменных в $2$ уравнениях. Создаем циклы для заполнения нашей матрицы. Дальше по формуле Камера перемножаем переменные. Выводим на экран ответы с точностью до $0.001$.
Ссылки
Задача на сайте e-olymp
Код решения в Ideone