[Seinm ceoil] ZAMYLA Chan: Let a chur i bhfeidhm Vigenere, le beagán níos mó dhaingniú cipher ná Caesar. Tá an téacs plain enciphered ag baint úsáide as teaghrán ionad slánuimhir. Gach carachtar aibítreach i Tá gnáth-théacs bhog ag litir an eochairfhocal. Sa sampla seo, an eochairfhocal ohai, O fhreagraíonn leis aistriú de 14; H chun athrú de 7; A, athrú ar 0; agus mé athrú de 8. Má tá tú i bhfeidhm go rathúil do Caesar cipher, beidh sé a bheith ina deas creat óna bhfaigheann tú Is féidir le chur i bhfeidhm Vigenere. Mar a fheiceann tú, ag rith Vigenere cipher le carachtar aonarach mar Is é eochairfhocal an rud céanna mar cipher Caesar. Tá na céimeanna céanna maidir le Vigenere mar a rinne siad i Caesar. Is é an eochairfhocal an dara líne orduithe argóint, mar sin leat rochtain a fháil air le argv1. Ansin, is gá duit a fhíorú go bhfuil an eochair Tá focal go deimhin go léir aibítre. Seo an áit a bhfuil alpha Is féidir teacht i handy. Má tá eochairfhocal bailí agat, gheobhaidh tú an neart ón úsáideoir, agus ansin tá tú réidh chun encipher. Is é an fhoirmle cipher Vigenere den chineál céanna do Caesar fhoirmle, ach amháin anois k thiocfaidh chun bheith k foscripte j, rud a léiríonn an litir j-ú an eochairfhocal. A ligean ar chéim tríd an bpróiseas seo. Abair go raibh tú chun teachtaireacht a sheoladh chuig do tuairteála, is maith liom tú, ach nach bhfuil tú Ba mhaith gach duine a fhios. Mar sin, tú a úsáid cipher Vigenere leis an panda eochairfhocal, mar gheall ar, go maith, is féidir leat chomh maith pandas mhaith. An chéad litir, beidh mé, a bhog le p, ag tabhairt x, 15 litreacha i ndiaidh dom, toisc go bhfuil 15 p an 16ú litir den aibítir. Is é an litir seo chugainn sa téacs plain spás, ionas nach mbeidh a bhog. Agus an t-innéacs ar an eochairfhocal Ní bheidh athrú. Ansin, is é an litir seo chugainn i ngnáth-théacs l, bhog ag, nach bhfuil athrú an litir gnáth-théacs ar chor ar bith, mar gheall ar a bhfuil an litir 0ú an aibítir. Leanann an próiseas, chun cinn an carachtar eochairfhocal gach uair níl litir sa téacs plain. Nuair atá an litir dheireanach sa eochairfhocal bainte amach, wraps an eochairfhocal thart agus shifts chun an plain eile litir téacs ag lch. X lvne Noh. Conas rómánsúil. Mar sin, a thabhairt ar charachtar, conas a dhéanann tú a thiontú go isteach an comhfhreagrach Sifir athrú? Bain triail as i gcomparáid ASCII Luachanna leis an athrú. B'fhéidir gur féidir leat a fháil caidreamh idir na litreacha agus na n- Innéacs aibítreach ag baint úsáide as math ASCII. An féidir leat a shuimiú nó a dhealú charachtar amháin ó dhuine eile a fháil tú an toradh inmhianaithe? Cuimhnigh go bhfuil na hathruithe do chás uachtair agus tá litreacha beaga mar an gcéanna. Mar sin, b'fhéidir go mbainfidh tú gá a aithint dhá foirmlí den chineál céanna chun ionadaíocht a athrú, ceann amháin le haghaidh an cás uachtair carachtar eochairfhocal, agus ceann le haghaidh ceann litreacha beaga. Next, cuimhnigh go bhfuil an dul chun cinn eochairfhocal ach amháin má tá an carachtar i Is gnáth-théacs litir agus go gcás an plain Ní mór an téacs a chaomhnú. Mar sin, má táimid ar an fhoirmle do Vigenere athrú, tá dhá innéacs athróga, i agus j. Coinníonn rian Ceann de na seasamh i plain téacs, agus an ceann eile ar an seasamh sa eochairfhocal. Ach d'fhéadfadh do gnáth-théacs a bheith i bhfad níos faide ná do eochairfhocal, agus sa chás sin d' Ní mór innéacs eochairfhocal a wrap timpeall ar ais go dtí tús an eochairfhocal. Conas a dhéanann tú é seo a dhéanamh? A ligean ar breathnú siar ar an modulo oibreoir. Is é an sainmhíniú modulo an chuid eile a roinnt dhá uimhir. Ach cad é an praiticiúil iarbhír úsáid modulo? Bhuel, a rá go bhfuil tú ar ghrúpa mór de daoine, agus is gá duit a roinnt ina trí ghrúpa. Bealach amháin chun daoine a roinnt ina ngrúpaí é a bheith acu iad a chomhaireamh amach. Uimhir tú an grúpa grúpaí Uimhir 1, 2, agus 3. Beidh an chéad duine a rá 1, an 2 seo chugainn, an chéad cheann eile 3. An duine tar éis a rá 1, toisc nach bhfuil grúpa 4, agus an Tosaíonn count aghaidh ó ann. Is féidir leat úsáid a modulo dhéanamh ar an rud céanna. An uair seo, beidh na grúpaí bheith ghrúpa 0, 1, agus 2. An chéad duine, uimhir 1 Is modulo 3, 1. Duine 2 modulo 3 2. Duine 3 modulo 3 Is é 0. Duine 4 modulo 3 Tugann 1, agus mar sin Is féidir na grúpaí timfhillteach. Mar sin, má tá tú innéacs agus modulo go innéacs ag méid uasta, an Ní bheidh mar thoradh ar níos mó ná nó comhionann leis an méid, rud a chiallaíonn go bhfuil tú Is féidir cur leis an innéacs de réir mar oiread agus ba mhaith leat. Agus chomh fada agus modulo tú an t-innéacs ag roinnt ar líon, ní bheidh ort a fháil ar roinnt níos mó ná sin. Mar sin, ní mór dúinn 10 duine in ionad 5, agus Bheadh ​​siad go léir a fháil a shannadh do ghrúpaí uimhir 0, 1, nó 2. Bain triail as a seo maidir leis timfhilleadh thar an eochairfhocal, ach amháin in ionad sórtála daoine isteach uimhreacha grúpa mian leat an innéacs de na eochairfhocal ionas gur féidir leat a fháil ar an carachtar ceart don athrú gan dul thar an fad na sreinge. Leis sin, tá tú do Vigenere shifir. Is é mo ainm Zamyla, agus tá sé seo CS50.