&
Trivial:
ICSP. Robimy macierzowy piątek, bo nie mam co robić?
23 wrz 12:26
ICSP: Ja mam co robić

Zaraz na UMCS jadę dowiedzieć się paru rzeczy
23 wrz 12:32
Trivial:
To nie robimy macierzowego piątku.
Daleko masz?
23 wrz 12:33
ICSP: no jakieś 15 min autobusem

Później pewnie na orlika pójdę a wieczorem zapewne na miasto.
Miasta jeszcze nie jestem pewien to może wieczorem coś porobimy
23 wrz 12:36
Trivial:
Blisko masz.
Ja z domu do uczelni mam jakieś 5 godzin...
23 wrz 12:37
ICSP: ale wracasz codziennie czy na stancji mieszkasz?
23 wrz 12:39
Trivial:
Taaa, wracam codziennie. Zaledwie 10 godzin na dojazdy. Dobre.
23 wrz 12:39
ICSP: Czemu nie
23 wrz 12:40
Trivial: Bo tak.
23 wrz 12:40
Trivial:
A co będziesz się dowiadywał?
23 wrz 12:42
ICSP: To może powiesz gdzie studiujesz

Jakie miasto?
23 wrz 12:42
ICSP: Chyba najbardziej mi na planie zależy
23 wrz 12:42
Trivial:
ICSP, nie wiesz gdzie jest AGH? o.o
23 wrz 12:43
ICSP: To ty na AGH studiujesz?
Oczywiście Kraków.
23 wrz 12:43
Trivial: To dla ciebie jakieś zaskoczenie?
23 wrz 12:44
ICSP: Nie wiedziałem
23 wrz 12:45
Trivial:
Na UMCS miałbym sporo bliżej, ale chciałem na AGH, żeby było daleko... Z pewnych powodów.
23 wrz 12:47
ICSP: Lubisz jeździć po prostu

Nie wnikamy
23 wrz 12:49
Trivial:
Dobra panie
ICSP. Idę zająć się czymś bardziej konstruktywnym.
23 wrz 12:55
ICSP: Życzę powodzenia
23 wrz 12:56
Trivial:
Widzę, że ICSP, wróciłeś.
23 wrz 16:54
ICSP: ty mnie śledzisz?
Za pół godziny wychodzę
23 wrz 17:01
Trivial: Nie śledzę, lecz właśnie wróciłem.
23 wrz 17:04
Vizer: Trivial Ty znasz się może na kongruencji

23 wrz 17:06
Trivial:
Miałem to na wykładzie jakieś 15 minut − czyli tylko podstawy.
Za to
Vax to pewnie ekspert w tej dziedzinie.
23 wrz 17:08
Vax: Jaki ekspert, kiedyś trochę o tym czytałem i tyle
23 wrz 17:09
Vizer: Ok to nic, próbuję coś samemu zrozumieć z neta, ale to nie jest takie proste
23 wrz 17:10
Vax: To jak masz jakieś pytania pisz śmiało, postaramy się pomóc
23 wrz 17:10
Vizer: No właśnie ta zdolność przyswajania wiedzy przez Ciebie jest zdumiewająca
23 wrz 17:10
Vizer: To tak zapoznałem się z podstawowymi własnościami kongruencji. mam np. problem z takim
przykładem:
37x=23(mod 73)
Jak mam rozpocząć takie coś rozwiązywać
23 wrz 17:14
Trivial: To chyba może mieć wiele rozwiązań?
23 wrz 17:18
AC:
74x = 46 mod 73 ⇒ x = 46 mod 73
23 wrz 17:23
Vax: W takich przypadkach musimy wyznaczyć element odwrotny do 37 modulo 73. Element odwrotny do
jakiegoś a modulo c istnieje wtedy i tylko wtedy, gdy nwd(a,c)=1, u nas nwd(37,73) = 1, więc
takowy istnieje. Elementem odwrotnym do a modulo c jest takie b, że a*b = 1 (mod c). Wyznaczyć
go możemy z rozszerzonego algorytmu Euklidesa, wyznaczamy element odwrotny do 37 modulo 73,
piszemy takie 2 równości:
{37*0 + 73*1 = 73
{37*1 + 73*0 = 37
(najlepiej na górze zawsze pisać równanie które daje większy wynik niż na dole)
Teraz patrzymy ile całych 37 mieści się w 73, dostajemy, że tylko jedna cała 37 mieści się w 73
(bo już 2*37 = 74 > 73) więc od górnego równania odejmujemy dolne przemnożone przez 1 (mnożymy
przez tyle, ile ,,całości" dostaliśmy) jako 1 równanie zapisujemy to dolne, a jako 2 to które
dostaliśmy po odjęciu:
{37*1 + 73*0 = 37
{37(0−1) + 73(1−0) = 73−37 ⇔ 37*(−1) + 73*1 = 36
Teraz tak samo, 36 mieści się w 37 tylko raz, więc dostajemy:
{37*(−1) + 73*1 = 36
{37*2 + 73*(−1) = 1
I robimy tak w kółko, dopóki nie dostaniemy w którejś równości po prawej stronie 1. U nas już
dostaliśmy, i naszym elementem odwrotnym jest współczynnik stojący przy 37, w naszym przypadku
2, i teraz naszą kongruencję:
37x = 23 (mod 73)
Mnożymy właśnie przez ten element odwrotny (2) dostając:
x = 46 (mod 73)
I to by było tyle
23 wrz 17:24
Vizer: Ok dzięki
Vax, muszę to przestudiować uważnie, jak coś to będę pytał.
23 wrz 17:30
Vax: Spoko, jakby coś było niejasnego to pisz, postaram się dokładniej wytłumaczyć
23 wrz 17:31
Trivial:
Vax, czy z innych przedmiotów też jesteś takim masterem?
23 wrz 17:34
Vax: Niestety, z innych przedmiotów
kompletnie nic nie robię, tylko matematyka i informatyka
23 wrz 17:36
AC:
Musisz oponować jeszcze angielski, jest niezbędny w pracy naukowej na uczelni.
23 wrz 17:47
Trivial: AC, Ty też jesteś w wieku Vaxa?
23 wrz 17:51
Vizer: Nie rozumiem pewnej kwestii, jeśli dobrze zrozumiałem to naszym zadaniem w tym przykładzie było
wyznaczenie b, by wykorzystać a*b=1(mod c). Wyznaczyłeś b=2. Może głupie pytanie ale czy nie
mamy pomnożyć przez 2, a=37
23 wrz 17:54
AC:
Nie, jestem starszy. Chociaż Vax przypomina mi moje stare dobre czasy gdy startowałem w
olimpiadach. Zresztą udało udało mi się zostać finalistą.
23 wrz 17:54
Vax: Dobrze rozumiesz, tak właśnie robimy, mamy kongruencje:
37x = 23 (mod 73)
I szukamy takiego ,,b" aby 37b = 1 (mod 73), w tym przypadku można bez korzystania z
rozszerzonego algorytmu Euklidesa zauważyć, że b=2 działa, jednak ogólnie jak np b=317 czy
coś, to zauważyć to jest ciężko, a korzystając z metody którą opisałem wyżej bardzo szybko
znajdujemy nasze ,,b"
23 wrz 17:57
Vax: O, w takim razie
AC gratuluję osiągnięć
23 wrz 17:59
AC:
Dzięki. Tylko, że to nie była olimpiada matematyczna.
23 wrz 18:01
Vax: A jaka, jak można wiedzieć ?
23 wrz 18:06
AC:
Z matematyki byłem za cienki doszedłem tylko do szczebla wojewódzkiego,
a z fizyki do ogólnopolskiego co dało mi indeks.
23 wrz 18:10
Vizer: No i kapie to
Vax.Dzięki.

Jak znajdę inny przykład, na którym się zawieszę napiszę jak
coś
23 wrz 18:10
Vax: Spoko, powodzenia w kolejnych przykładach
23 wrz 18:18
Vizer: Vax mam teraz zadanie 3x=59(mod 100)
NWD(3,100)=1
a*b=1(mod c)
Czy z algorytmu rozszerzonego Euklidesa, gdzie mam NWD(3,100)
{3*0+100*1=100
{3*1+100*0=3
{99*1+3300*0=99
{3(0−33)+100(1−0)=1
{99*1+3300*0=99
{3*(−33)+100*1=1
Wyjdzie to b=−33

Przyznam się, że nie brałem nigdy rozszerzonej wersji i nie wiem czy dobrze rozwiązuje.
Czyli x=59*(−33) (mod 100)
23 wrz 21:20
Vax: Dobrze, tylko jak mamy (jak pisałem, w 1 równaniu większa liczba, w dolnym mniejsza):
{3*0 + 100*1 = 100
{3*1 + 100*0 = 3
To w kolejnej linijce przepisujemy jako 1 równanie to dolne (u nas 3*1+100*0=3) i potem dopiero
to co powstało po odjęciu, tj:
{3*1 + 100*0 = 3
{3*(0−33) + 100(1−0) = 1 ⇔ 3(−33) + 100(1) = 1
Pamiętaj, że nasze b bierzemy modulo coś, więc możemy dostać jakąś liczbę ujemną, czyli:
b = −33 (mod 100)
Ale −33 = 67 (mod 100), więc:
b = 67 (mod 100)
Czyli:
3x = 59 (mod 100) /*67
x = 59*67 = 53 (mod 100)
Można też pracować na liczbach ujemnych, masz b = −33 (mod 100), mnożąc mamy:
x = 59(−33) = −1947 = 53 (mod 100)
Wynik zostaje ten sam

Należy tylko pamiętać, żeby na końcu zapisać x = coś (mod 100),
gdzie coś ∊ [0 ; 100)
23 wrz 21:37
Vizer: Ok dzięki, jak zwykle wyczerpujące wyjaśnienia, wszystko jasne
23 wrz 21:46
Vizer: A i pytanie jeszcze mamy:
x=59*67=53(mod 100)
To 53 znajdujemy mnożąc 59*67 i patrząc na wynik mnożenia ustalić taką liczbę by 100|59*67−c
23 wrz 22:10
Vax: 59 * 67 = 3953, rozpatrujemy to modulo 100, czyli inaczej mówiąc bierzemy resztę z dzielenia
tego przez 100, czyli 2 ostatnie cyfry − 53
23 wrz 22:12
Vax: No i to jest równoważne temu co piszesz, szukamy takiej najmniejszej liczby naturalnej c
23 wrz 22:14
Mateusz: Ogolnie kongruencje modulo n okreslamy tak:
m jest w relacji z m1 <=> n dzieli m−m1
po prostu reszta z dzielenia m przez n jest rowna reszcie z dzielenia m1 przez n co zapisujemy
po prost tak:
m=m1(modn)
23 wrz 22:16
Vizer: Ok dzięki za wyjaśnienia, srry, że tak męczę, ale zaciekawiło mnie to zagadnienie. Na dzisiaj
już mi wystarczy, jak coś to pomęczę Was jutro
23 wrz 22:24