חזור לתיקייה: תרגול

תרגול 2 - אלגוריתם אוקלידס וחשבון שארית (מודולו)

חיפוש בתיקיה
Ctrl K
לחץ כאן או הקש Ctrl K כדי לחפש בכל התיקיה
  • כללי

תרגול 2 - אלגוריתם אוקלידס וחשבון שארית (מודולו)

01040134

אלגברה מודרנית ח'

רשימות תרגול לקריאה בשבת

תרגול 2 - אלגוריתם אוקלידס וחשבון שארית (מודולו)

הופק מתוך תקיית התואר של שקד

uni-folder.vercel.app

תרגיל

יהיו a,b,c∈Za,b,c\in \mathbb{Z}a,b,c∈Z. ויהי p∈Zp \in \mathbb{Z}p∈Z ראשוני. הוכיחו:
א. אם a∣bca \mid bca∣bc ו-(a,b)=1(a,b)=1(a,b)=1 אזי a∣ca \mid ca∣c.
ב. אם p∣abp \mid abp∣ab אז p∣ap \mid ap∣a או p∣bp \mid bp∣b.
ג. מתקיים: (ac,bc)=∣c∣(a,b)(ac,bc)=|c|(a,b)(ac,bc)=∣c∣(a,b).
ד. אם a∣ca \mid ca∣c ו-b∣cb \mid cb∣c וגם (a,b)=1(a,b)=1(a,b)=1 אזי ab∣cab \mid cab∣c.

הוכחה א':

(a,b)=1  ⟹  ∃x,y∈Z:  1=xa+ybזהות בזו  ⟹  c=xac+ybccכפל ב-a∣bc  ⟹  ∃k1∈Z:  bc=ak1הגדרת חלוקה  ⟹  c=xac+yak1=a(xc+yk1)הצבהk=(xc+yk1)∈Z  ⟹  ∃k∈Z:  c=akסימון  ⟹  a∣cהגדרת חלוקה\begin{align*} (a,b)=1 & \implies \exists x,y \in \mathbb{Z}:\; 1=xa+yb & \R{\text{זהות בזו}} \\ & \implies c=xac+ybc & c\R{\text{כפל ב-}} \\ a \mid bc &\implies \exists k_{1} \in \mathbb{Z}:\;bc=ak_{1} & \R{\text{הגדרת חלוקה}} \\ & \implies c=xac+yak_{1}=a(xc+yk_{1}) & \R{\text{הצבה}} \\ k=(xc+yk_{1})\in \mathbb{Z}& \implies \exists k \in \mathbb{Z}:\; c=ak & \R{\text{סימון}} \\ & \implies a \mid c & \R{\text{הגדרת חלוקה}} \end{align*}(a,b)=1a∣bck=(xc+yk1​)∈Z​⟹∃x,y∈Z:1=xa+yb⟹c=xac+ybc⟹∃k1​∈Z:bc=ak1​⟹c=xac+yak1​=a(xc+yk1​)⟹∃k∈Z:c=ak⟹a∣c​זהות בזוcכפל ב-הגדרת חלוקההצבהסימוןהגדרת חלוקה​

∎

הוכחה ב':
נתון כי p∣abp \mid abp∣ab. נחלק למקרים:

  • אם p∣a,bp \mid a,bp∣a,b אז סיימנו.
  • אם בה"כ p∤ap \nmid ap∤a אזי, (p,a)=1(p,a)=1(p,a)=1 ולכן מסעיף א', p∣bp \mid bp∣b וסיימנו.

∎

הערה

עבור ppp ראשוני המחלק את p∣a1a2⋯anp \mid a_{1}a_{2}\cdots a_{n}p∣a1​a2​⋯an​ אזי קיים 1≤i≤n1\leq i\leq n1≤i≤n כך ש-p∣aip \mid a_{i}p∣ai​.
ההוכחה באינדוקציה :) (ומזווית של מדמח תהליך זה יקח לנו log⁡n\log nlogn פעולות)

הוכחה ד':
דרך 1:
נתון כי (a,b)=1(a,b)=1(a,b)=1 ולכן קיימים x0,y0∈Zx_{0},y_{0} \in \mathbb{Z}x0​,y0​∈Z כך ש: 1=ax0+by01=ax_{0}+by_{0}1=ax0​+by0​. נכפיל ב-ccc לקבלת: c=ax0c+by0cc=ax_{0}c+by_{0}cc=ax0​c+by0​c.
קיימים q1,q2∈Zq_{1},q_{2} \in \mathbb{Z}q1​,q2​∈Z כך ש-bq1=c,aq2=cbq_{1}=c,aq_{2}=cbq1​=c,aq2​=c אזי: c=abq1x0+abq2y0c=abq_{1}x_{0}+abq_{2}y_{0}c=abq1​x0​+abq2​y0​ ולכן: ab(q1x0+q2y0)=cab(q_{1}x_{0}+q_{2}y_{0})=cab(q1​x0​+q2​y0​)=c.
נגדיר k=q1x0+q2y0∈Zk=q_{1}x_{0}+q_{2}y_{0}\in \mathbb{Z}k=q1​x0​+q2​y0​∈Z ולכן, abk=cabk=cabk=c ולכן, לפי הגדרה, ab∣cab \mid cab∣c.

דרך 2:

ab=ab(a,b)=[a,b]∣cab=\frac{ab}{(a,b)}=[a,b] \mid cab=(a,b)ab​=[a,b]∣c

∎

תרגיל

חשבו את (101,56)(101,56)(101,56) ומצאו x,y∈Zx,y \in \mathbb{Z}x,y∈Z כך שמתקיים (101,56)=101x+56y(101,56)=101x+56y(101,56)=101x+56y.

נפעיל את אלגוריתם אוקלידס:

101=56⋅1+45  ⟹  56=45⋅1+11  ⟹  45=11⋅4+1  ⟹  11=1⋅11+0101=56\cdot 1+45 \implies 56=45\cdot 1+11\implies 45=11\cdot 4+1 \implies 11=1\cdot 11+0101=56⋅1+45⟹56=45⋅1+11⟹45=11⋅4+1⟹11=1⋅11+0

כעת, נפעיל את אלגוריתם אוקלידס המורחב:

1=45‾−11‾⋅4=45‾−4(56‾−45‾)=101‾−56‾−4(56‾−(101‾−56‾))=101‾−56‾−4(2⋅56‾−101‾)1=\underline{45}-\underline{11}\cdot 4=\underline{45}-4(\underline{56}-\underline{45})=\underline{101}-\underline{56}-4(\underline{56}-(\underline{101}-\underline{56}))=\underline{101}-\underline{56}-4(2\cdot \underline{56}-\underline{101})1=45​−11​⋅4=45​−4(56​−45​)=101​−56​−4(56​−(101​−56​))=101​−56​−4(2⋅56​−101​) 1=5⋅101‾+(−9)⋅56‾1=5\cdot \underline{101}+(-9)\cdot \underline{56}1=5⋅101​+(−9)⋅56​

לכן, (101,56)=1(101,56)=1(101,56)=1 ו-x=5,y=−9x=5,y=-9x=5,y=−9.

הערה (חישוב [101,56][101,56][101,56])

[101,56]=101⋅56(101,56)=101⋅56[101,56]=\frac{101\cdot 56}{(101,56)}=101\cdot 56[101,56]=(101,56)101⋅56​=101⋅56
תרגיל

חשבו את ספרת האחדות של (333)333(333)^{333}(333)333.

הערה

אם היינו מנסים למצוא את המספר הזה היינו מגלים כי הוא בעל 999999999 ספרות (כמעט אלף-ספרתי)
נשים לב כי בנוסף מתקיים כי 2333<3333332^{333}<333^{333}2333<333333. בנוסף, אם היינו מוצאים את מספר החלקיקים בקיום היינו מגלים כי הוא קטן מ-23332^{333}2333. אנו יודעים בוודאות כי מספר החלקיקים במחשב קטן ממספר החלקיקים ביקום ולכן בוודאות לא היינו מצליחים לשמור את כל המספר במחשב. (זוהי הוכחת אי-חישוב)

הערה (להערה)

ניתן לחשב את המספר בתוך stringstringstring שכן אז זה יתפוס רק 100010001000 בתים :) זה פשוט יקח מלאאאאא זמן

למזלנו אנו לא צריכים לחשב את המספר, רק את המודלו.

ננסה להשיג את ספרת היחידות באמצעות  ⁣ ⁣ ⁣(mod  10)\pmod{10}(mod10).

(333)^{333}\pmod{10} \underset{\begin{matrix} \downarrow \\ \mod{}\R{\text{תכונות}} \end{matrix}}{=}(333 \pmod{10})^{333}= 3^{333}\pmod{10}

כאן, כרגע אנו מבצעים ניחוש (בעוד כמה תרגולים נגלה את המחזוריות הזו ויהיה לנו משפט שמאפיין איך למצוא משהו שקשור ל-3 ל-10 ולחזקה הזו)
נרצה כרגע כלל אצבע ונשים לב כי:

332=933=27≡10734=81≡1013 \qquad 3^2=9 \qquad 3^3=27\equiv_{10}7 \qquad 3^4=81\equiv_{10} 1332=933=27≡10​734=81≡10​1

כל רביעיה שכזו נותנת 111 במודולו 101010.

3333 ⁣ ⁣ ⁣(mod  10)=(3⋅3⋅3⋅3)(3⋅3⋅3⋅3)⋯(3⋅3⋅3⋅3)⋅3r ⁣ ⁣ ⁣(mod  10)3^{333}\pmod{10}=(3\cdot 3 \cdot 3 \cdot 3)(3\cdot 3 \cdot 3 \cdot 3)\cdots (3 \cdot 3 \cdot 3 \cdot 3)\cdot 3^r \pmod{10}3333(mod10)=(3⋅3⋅3⋅3)(3⋅3⋅3⋅3)⋯(3⋅3⋅3⋅3)⋅3r(mod10)

כאשר 0≤r≤30\leq r\leq 30≤r≤3.

333=4⋅83+1  ⟹  r=1333=4\cdot 83+1 \implies r=1333=4⋅83+1⟹r=1

לכן מתקיים:

333333≡103333 ⁣ ⁣ ⁣(mod  10)≡1034⋅83+1 ⁣ ⁣ ⁣(mod  10)≡10183⋅31 ⁣ ⁣ ⁣(mod  10)≡103333^{333}\equiv_{10}3^{333}\pmod{10}\equiv_{10}3^{4\cdot 83+1}\pmod{10}\equiv_{10}1^{83}\cdot 3^{1}\pmod{ 10}\equiv_{10}3333333≡10​3333(mod10)≡10​34⋅83+1(mod10)≡10​183⋅31(mod10)≡10​3
תרגיל

חשבו את ספרת היחידות של 128412^{84}1284

1284≡10284 ⁣ ⁣ ⁣(mod  10)12^{84}\equiv_{10}2^{84}\pmod{10}1284≡10​284(mod10)

נמצא את המחזור של 2:

2,22=4,23=8,24=16≡106,25=12≡10=22,2^2=4,2^3=8,2^4=16\equiv_{10}6,2^5=12\equiv_{10}=22,22=4,23=8,24=16≡10​6,25=12≡10​=2

נשים לב כי כל 555 כאלו הם 222.

284≡10216⋅5+4≡10216+4≡10220≡1024≡1062^{84}\equiv_{10}2^{16\cdot 5+4}\equiv_{10}2^{16+4}\equiv_{10}2^{20}\equiv_{10}2^{4}\equiv_{10} 6284≡10​216⋅5+4≡10​216+4≡10​220≡10​24≡10​6