1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> Rob BOWDEN: Hi, mimi nina Rob, na hebu kuruka ndani ya hacker toleo la Mario. 3 00:00:18,290 --> 00:00:21,760 Kitu hivyo kwanza tunahitaji kufanya ni kupata urefu kutoka kwa mtumiaji. 4 00:00:21,760 --> 00:00:26,290 Hapa sisi ni kuwauliza kwa integer mashirika yasiyo ya hasi chini ya 24 na 5 00:00:26,290 --> 00:00:31,710 sisi ni kutumia kazi CS50 GetInt kwa kunyakua kwamba integer kutoka kwa mtumiaji. 6 00:00:31,710 --> 00:00:35,260 Tunaona tuko ndani ya do-kitanzi wakati kwamba itaendelea wanaoendesha kwa muda mrefu kama 7 00:00:35,260 --> 00:00:38,400 urefu ni kubwa kuliko 23 au chini ya 0. 8 00:00:38,400 --> 00:00:42,850 Na hivyo tutaweza kuendelea mpaka user kweli inatupa nini tunataka. 9 00:00:42,850 --> 00:00:46,960 >> Mara baada ya sisi na kwamba urefu, tunapata kuu kwa kitanzi cha programu yetu. 10 00:00:46,960 --> 00:00:49,510 Basi hebu kwanza kuangalia mfano kutoka pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Tunaona katika mfano huu kwamba wakati sisi kuingia urefu wa 4, mstari chini 13 00:00:56,940 --> 00:01:01,520 kwanza Prints hashes nne, nafasi mbili, na hashes nne zaidi. 14 00:01:01,520 --> 00:01:06,280 >> Kisha safu moja juu ya kwamba Prints moja nafasi tatu hashes, nafasi mbili kwa 15 00:01:06,280 --> 00:01:09,690 tofauti piramidi, na kisha hashes tatu zaidi. 16 00:01:09,690 --> 00:01:13,460 Na juu ya kwamba, nafasi mbili, hashes mbili, nafasi mbili, hashes mbili. 17 00:01:13,460 --> 00:01:18,090 Na hatimaye, nafasi ya tatu moja hash, nafasi mbili hash moja. 18 00:01:18,090 --> 00:01:20,980 Hivyo unapaswa kuanza kwa taarifa mfano hapa. 19 00:01:20,980 --> 00:01:22,545 >> Hebu tuangalie kanuni kwa ajili ya jinsi tunakwenda kufanya hivyo. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Tunaona hapa kwamba sisi ni iterating juu ya safu yote ya piramidi. 22 00:01:28,840 --> 00:01:31,720 Kwanza tunataka mahesabu ya idadi ya nafasi. 23 00:01:31,720 --> 00:01:34,690 Na kukumbuka kwamba sisi kuanza katika juu ya piramidi na kazi yetu 24 00:01:34,690 --> 00:01:37,790 njia ya chini tangu hatuwezi magazeti chini kisha safu moja up na 25 00:01:37,790 --> 00:01:39,140 kisha safu moja up. 26 00:01:39,140 --> 00:01:44,030 Hivyo juu ya piramidi, taarifa kwamba idadi ya nafasi ni sawa na 27 00:01:44,030 --> 00:01:45,720 urefu minus 1. 28 00:01:45,720 --> 00:01:50,120 Tunakwenda magazeti nafasi tatu kisha hash moja na kisha nafasi mbili kwa 29 00:01:50,120 --> 00:01:53,350 tofauti na hash mwingine. 30 00:01:53,350 --> 00:01:57,320 >> Hivyo nafasi ni sawa na urefu minus mfululizo. 31 00:01:57,320 --> 00:02:03,180 Kama mstari ni 1 na urefu yetu ni 4, kwamba utakuwa kutupa nafasi 3, kama tunataka. 32 00:02:03,180 --> 00:02:06,900 Kisha hii kwa kitanzi tu prints kwamba idadi ya nafasi. 33 00:02:06,900 --> 00:02:12,630 Kama nafasi ni tatu, kisha tunakwenda kuunda nafasi moja mara tatu. 34 00:02:12,630 --> 00:02:18,750 >> Kuendelea, sasa tunataka magazeti hashes ya piramidi kushoto, ambao ni 35 00:02:18,750 --> 00:02:20,630 tu sawa na mstari idadi. 36 00:02:20,630 --> 00:02:23,250 Kuangalia nyuma hapa, katika mstari moja, sisi magazeti hash moja. 37 00:02:23,250 --> 00:02:25,960 Katika mstari wa mbili sisi magazeti mbili, katika mstari tatu sisi magazeti tatu. 38 00:02:25,960 --> 00:02:30,440 Hivyo sisi tu kitanzi mara mstari uchapishaji hash mfano. 39 00:02:30,440 --> 00:02:34,830 Kisha kwa ajili ya safu yote ya piramidi, sisi magazeti nafasi hasa mbili tofauti 40 00:02:34,830 --> 00:02:36,360 wale piramidi. 41 00:02:36,360 --> 00:02:39,590 >> Na hatimaye, tunataka magazeti haki upande wa piramidi, ambayo ni 42 00:02:39,590 --> 00:02:42,160 tena idadi sawa ya hashes kama upande wa kushoto. 43 00:02:42,160 --> 00:02:45,680 Na hivyo ni exact kwa kitanzi kama juu hapa. 44 00:02:45,680 --> 00:02:49,445 Hatimaye, tunahitaji kujenga line mpya katika ili kusonga mbele kwa karibu mstari wa 45 00:02:49,445 --> 00:02:51,690 piramidi na kuendelea uchapishaji. 46 00:02:51,690 --> 00:02:53,010 Na hiyo ni yake. 47 00:02:53,010 --> 00:02:54,860 Jina langu ni Rob na hii ilikuwa Mario. 48 00:02:54,860 --> 00:03:01,718