Układ równań liniowych
Mudcrab: Dane są liczby rzeczywiste − a, b, c, d, e, f. Rozważ poniższy układ równań liniowych:
⎧ | ax + by = e | |
⎩ | cx + dy = f |
|
0. Jeśli układ nie ma żadnych rozwiązań − wydrukuj 0.
1. Jeśli układ ma nieskończenie wiele rozwiązań w postaci y = kx + b wydrukuj 1 oraz wartości k
i b.
2. Jeśli układ ma jedno rozwiązanie (x
0, y
0) wydrukuj 2 oraz wartości x
0 i y
0.
3. Jeśli układ ma nieskończenie wiele rozwiązań w postaci x = x
0, przy dowolnym y, wydrukuj
3 i wartość x
0.
4. Jeśli układ ma nieskończenie wiele rozwiązań w postaci y = y
0, przy dowolnym x, wydrukuj
4 i wartość y
0.
5. Jeśli rozwiązaniem jest dowolna para liczb (x, y) wydrukuj 5.
Postanowiłem zrobić to łopatologicznie poprzez wyróżnienie wymogów jakie muszą spełnić dane
a,b,c,d,e,f by spełnić wymienione punkty:
2. a,d = 0 i b,c ≠ 0 ⇒ x
0 = e/b, y
0 = f/c
albo
b,c = 0 i a,d ≠ 0 ⇒ x
0 = e/a, y
0 = f/d
3. b,d = 0 i a,c ≠ 0 i e/a = f/c ⇒ x
0 = e/a
4. a,c = 0 i b,d ≠ 0 i e/b = f/d ⇒ y
0 = e/b
5. a,b,c,d,e,f = 0
albo
c = −a, d = −b, f = −e
albo
a = −c, b = −d, e = −f
Jak widać, rozgryzłem jak mi się wydaje pkt. 2 do 5. Nie wiem natomiast w pkt. 2 jak
przekształcić ten układ w taką postać.
Pkt. 0 załatwię chyba przez wydrukowanie 0 jak wszystkie inne punkty nie zostaną spełnione.
Przykładowe dane wejściowe i wyjściowe:
1 0 1 0 3 3 odp.: 2 3 3
1 1 2 2 1 2 odp.: 1 −1 1
0 2 0 4 1 2 odp.: 4 0.5
2 3 4 6 1 2 odp.: 1 −0.666667 0.333333
0 1 0 3 5 15 odp.: 4 5
1 0 1 0 3 3 odp.: 3 3
9 lis 20:57
jc:
Jeśli ad−bc≠0, to mamy jedno rozwiązanie x=..., y=..
Jeśli ad=bc, ab=ce, bf=de, to mamy nieskończenie wiele rozwiązań.
Jeśli ad=bc, ab≠ce lub bf≠=de, to brak rozwiązań.
9 lis 21:09
Mudcrab: Dziękuję za odpowiedź, ale szczerze mówiąc to nie zrozumiałem. Których punktów te podpowiedzi
dotyczą? Zadanie ma konkretnie sprecyzowane podpunkty i system oczekuje danych wyjściowych. Na
tą chwilę potrzebuję wzoru na k i b w punkcie 2 bo reszta mi daje pozytywne wyniki
(przynajmniej dla tych przykładowych danych).
9 lis 21:39
jc: Jaka jest odpowiedź dla danych:
1 1 1 1 1 0
1 1 2 2 3 6
2 3 1 5 7 4
9 lis 21:52
Mudcrab: Nie mam możliwości sprawdzenia, ale w teorii powinno być:
0 (sprzeczność)
1 −1 3 (y = −x + 3)
| 3 | | 11 | | 3 | | 11 | |
1 − |
| |
| (y = − |
| x + |
| ) |
| 8 | | 8 | | 8 | | 8 | |
Stąd wymyśliłem teraz warunki dla pkt. 1:
b + d ≠ 0 and b ≠ 0
k = −(a+c)/(b+d), b = (e+f)/(b+d)
9 lis 22:05
Mudcrab: To jest w ogóle dziwne zadanie i chyba dwa razy użyte b do oznaczenia dwóch różnych rzeczy (y =
kx + b).
9 lis 22:08
Mudcrab: Wzory na k i b są chyba dobre, ale warunki są złe bo zinterpretowały 0 2 0 4 1 2 jako właśnie
podpunkt 1 zamiast 4 (y = 1/2 odpowiedź: 4, 0.5)
9 lis 22:26
Mudcrab: Dobra, jak przy oblanym teście #7 nie otrzymałem ani kodu błędu ani inputu ani poprawnego
outputu to ja dziękuję i idę spać, dobranoc.
9 lis 22:56