[Halisi kucheza] ZAMYLA CHAN: Hebu kutekeleza Vigenere, zaidi kidogo ya kupata cipher kuliko Kaisari. Nakala wazi ni enciphered kutumia kamba badala ya integer. Kila tabia herufi katika Nakala wazi ni kubadilishwa kwa barua katika Keyword. Katika mfano huu, Keyword ohai, O sambamba na mabadiliko ya 14; H kwa kuhama ya 7; kuhama, ya 0; na mimi mabadiliko ya 8. Kama wameweza kwa mafanikio yako Kaisari cipher, utakuwa ni nzuri mfumo ambayo wewe inaweza kutekeleza Vigenere. Kama unaweza kuona, mbio Vigenere cipher na tabia moja kama Keyword ni kitu kimoja kama cipher Kaisari. hatua hiyo kuomba Vigenere kama walivyofanya katika Kaisari. Keyword ni ya pili ya mstari amri hoja, hivyo kupata huduma hiyo na argv1. Basi haja ya kuthibitisha kuwa muhimu neno ni kweli kila herufi. Hapa ni wapi alpha wanaweza kuja katika Handy. Kama una Keyword halali, kupata nguvu kutoka kwa mtumiaji, na kisha uko tayari kwa encipher. Cipher Vigenere formula ni sawa Kaisari formula, ila sasa k inakuwa k subscript j, kuonyesha barua j-th wa Keyword. Hebu hatua kupitia mchakato huu. Sema alitaka kutuma ujumbe kwa yako ajali, mimi kama wewe, lakini huna nataka kila mtu kujua. Hivyo unaweza kutumia cipher Vigenere na Keyword panda, kwa sababu, vizuri, wewe pia kama pandas. barua ya kwanza, mimi, itakuwa kubadilishwa na p, kutoa x, barua 15 baada ya mimi, kwa sababu 15 p ni 16 barua ya alfabeti. barua ijayo katika maandishi wazi ni nafasi, hivyo kuwa ya kubadilishwa. Na index ya Keyword si mabadiliko. Kisha barua ijayo katika maandishi wazi ni l, kubadilishwa kwa, ambayo haina kuhama Nakala wazi barua wakati wote, kwa sababu ni barua 0 ya alfabeti. mchakato unaendelea, kuendeleza Keyword tabia kila wakati kuna mbili katika maandishi wazi. Mara baada ya barua ya mwisho katika Keyword ni kufikiwa, Keyword Wraps kuzunguka na mabadiliko ya wazi ijayo Nakala mbili na p. X lvne NOH. Jinsi ya kimapenzi. Hivyo kutokana na tabia, ni jinsi gani unaweza kubadilisha kwamba katika sambamba cipher kuhama? Jaribu kulinganisha ASCII maadili kwa kuhama. Labda unaweza kupata uhusiano kati ya herufi na wao herufi index kutumia math ASCII. Unaweza kuongeza au Ondoa moja tabia kutoka mwingine kupata wewe matokeo taka? Kumbuka kwamba mabadiliko kwa herufi kubwa na herufi ndogo ni sawa. Hivyo labda itabidi kutambua mbili formula sawa na kuwakilisha kuhama, moja kwa herufi kubwa Keyword tabia, na moja kwa moja lowercase. Ijayo, kumbuka kwamba maendeleo Keyword tu kama tabia katika Nakala wazi ni barua na kwamba kesi ya wazi Nakala lazima zihifadhiwe. Hivyo kama sisi kuangalia formula kwa ajili ya Vigenere kuhama, kuna mambo mawili index vigezo, i na j. Moja anaendelea kufuatilia msimamo katika bonde maandishi, na wengine nafasi katika Keyword. Lakini maandishi yako wazi kuwa sana tena kuliko Keyword yako, katika kesi ambayo yako Keyword index inahitaji wrap kuzunguka nyuma mwanzo wa Keyword. Jinsi gani unaweza kufanya hili? Hebu kuangalia nyuma katika modulo operator. Modulo inaelezwa ni salio ya kugawa namba mbili. Lakini nini vitendo halisi matumizi ya modulo? Naam, kusema kuwa kundi kubwa la watu, na unahitaji kugawanya katika makundi matatu. Moja ya njia ya kugawanya watu katika makundi ni kuwa na wao kuhesabu mbali. Wewe idadi kundi vikundi namba 1, 2, na 3. mtu wa kwanza kusema 1, 2 ijayo, 3 ijayo. mtu baada ya kuwa watasema 1, kwa sababu hakuna kikundi 4, na wanawake kuanza juu kutoka huko. Unaweza kutumia modulo kwa kufanya kitu kimoja. Wakati huu, vikundi vya mapenzi kuwa kikundi 0, 1, na 2. Mtu wa kwanza, idadi 1 modulo 3, ni 1. 2 mtu modulo 3 ni 2. 3 mtu modulo 3 ni 0. 4 mtu modulo 3 anatoa 1, na hivyo vikundi vinaweza wrap kote. Hivyo kama wewe kuchukua index na modulo kwamba index na ukubwa wa upeo, matokeo kamwe kuwa zaidi au sawa na ukubwa, kwa maana ya kwamba inaweza kuongeza index kama kiasi kama wewe Ningependa. Na muda mrefu kama wewe modulo index kwa idadi fulani, huwezi kupata idadi kubwa kuliko ile. Hivyo tuna watu 10 badala ya 5, na wangeweza wote kupata ajili ya vikundi vya idadi 0, 1, au 2. Kujaribu kuomba hii kwa zaidi ya wrapping Keyword, ila badala ya kuchagua watu ndani ya kundi idadi unataka index ya Keyword ili uweze kupata tabia ya haki kwa kuhama bila mno urefu wa kamba. Pamoja na kwamba, una yako Vigenere cipher. Jina langu ni Zamyla, na hii ni CS50.