1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Dia duit, Tá mé Rob, agus a ligean ar léim isteach an eagrán hacker Mario. 3 00:00:18,290 --> 00:00:21,760 Is é sin an chéad rud is gá dúinn a dhéanamh a fháil ar an airde ón úsáideoir. 4 00:00:21,760 --> 00:00:26,290 Anseo tá muid ag iarraidh orthu le haghaidh slánuimhir neamh-diúltach níos lú ná 24 agus 5 00:00:26,290 --> 00:00:31,710 táimid ag baint úsáide as an fheidhm CS50 GetInt a grab go slánuimhir ón úsáideoir. 6 00:00:31,710 --> 00:00:35,260 Feicimid go bhfuil muid taobh istigh de lúb dhéanamh-cé go leanfaidh ar aghaidh looping chomh fada agus is 7 00:00:35,260 --> 00:00:38,400 Is airde níos mó ná 23 nó níos lú ná 0. 8 00:00:38,400 --> 00:00:42,850 Agus mar sin beidh orainn leanúint ar aghaidh go dtí an t-úsáideoir Tugann ndáiríre dúinn cad ba mhaith linn. 9 00:00:42,850 --> 00:00:46,960 >> Nuair a bheidh againn go airde, a fháil againn a an mó le haghaidh lúb ar ár gclár. 10 00:00:46,960 --> 00:00:49,510 Mar sin, a ligean ar breathnú ar dtús ag sampla as an spec pset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Feicimid sa sampla seo go nuair a muid dul isteach ar airde de 4, an ró ar bhun 13 00:00:56,940 --> 00:01:01,520 an chéad priontaí ceithre hashes, dhá spás, agus ceithre níos mó hashes. 14 00:01:01,520 --> 00:01:06,280 >> Ansin a chéile amháin os cionn go priontaí amháin spás trí hashes, dhá spás a 15 00:01:06,280 --> 00:01:09,690 leith na pirimidí, agus ansin trí níos mó hashes. 16 00:01:09,690 --> 00:01:13,460 Agus thuas, dhá spás, dhá hashes, dhá spás, dhá hashes. 17 00:01:13,460 --> 00:01:18,090 Agus ar deireadh, trí spás amháin hash, dhá spás amháin hash. 18 00:01:18,090 --> 00:01:20,980 Mar sin, ba chóir duit tosú le fógra an patrún anseo. 19 00:01:20,980 --> 00:01:22,545 >> A ligean ar breathnú ar an cód le haghaidh an chaoi táimid ag dul a dhéanamh sin. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Feicimid anseo go bhfuil muid ag iterating thar gach sraitheanna de na pirimide. 22 00:01:28,840 --> 00:01:31,720 An Chéad ba mhaith linn a ríomh líon na spásanna. 23 00:01:31,720 --> 00:01:34,690 Agus cuimhnigh go bhfuil muid chun tús a chur ag barr na pirimide agus ár n-obair 24 00:01:34,690 --> 00:01:37,790 bhealach síos ós rud é nach féidir linn a phriontáil ar an bun ansin chéile amháin suas agus 25 00:01:37,790 --> 00:01:39,140 ansin chéile amháin suas. 26 00:01:39,140 --> 00:01:44,030 Mar sin, ag an barr na pirimide, fógra go bhfuil líon na spásanna cothrom le 27 00:01:44,030 --> 00:01:45,720 airde lúide 1. 28 00:01:45,720 --> 00:01:50,120 Táimid ag dul a phriontáil trí spásanna ansin hash amháin agus ansin dhá spás a 29 00:01:50,120 --> 00:01:53,350 ar leithligh agus hash eile. 30 00:01:53,350 --> 00:01:57,320 >> Dá bhrí sin tá spásanna cothrom le chéile lúide airde. 31 00:01:57,320 --> 00:02:03,180 Má tá an tsraith 1 agus is é ár airde 4, Beidh a thabhairt dúinn 3 spás, mar ba mhaith linn. 32 00:02:03,180 --> 00:02:06,900 Ansin seo le haghaidh lúb ach priontaí an méid sin spásanna. 33 00:02:06,900 --> 00:02:12,630 Má tá spásanna trí, ansin táimid ag dul chun a chruthú spás amháin trí huaire. 34 00:02:12,630 --> 00:02:18,750 >> Ag leanúint ar aghaidh, anois ba mhaith linn a phriontáil ar an hashes de na pirimide chlé, is 35 00:02:18,750 --> 00:02:20,630 ach is comhionann leis an líon a chéile. 36 00:02:20,630 --> 00:02:23,250 Ag féachaint siar anseo, i ndiaidh a chéile amháin, a phriontáil againn hash amháin. 37 00:02:23,250 --> 00:02:25,960 I ndiaidh a chéile dhá phriontáil againn beirt, i chéile trí phriontáil againn trí. 38 00:02:25,960 --> 00:02:30,440 Amanna a chéile Mar sin, táimid go simplí lúb priontáil siombail hash. 39 00:02:30,440 --> 00:02:34,830 Ansin do gach sraitheanna na pirimide, táimid ag phriontáil spásanna go díreach dhá a scaradh 40 00:02:34,830 --> 00:02:36,360 sin pirimidí. 41 00:02:36,360 --> 00:02:39,590 >> Agus ar deireadh, ba mhaith linn a phriontáil an ceart taobh de na pirimide, atá 42 00:02:39,590 --> 00:02:42,160 arís ar an líon céanna na n hashes mar an taobh clé. 43 00:02:42,160 --> 00:02:45,680 Agus mar sin tá sé an céanna cruinn do lúb mar atá thuas anseo. 44 00:02:45,680 --> 00:02:49,445 Mar fhocal scoir, ní mór dúinn a chruthú líne nua i chun bogadh ar aghaidh go dtí an tsraith nua seo chugainn ar 45 00:02:49,445 --> 00:02:51,690 an pirimid agus leanúint ar aghaidh a phriontáil. 46 00:02:51,690 --> 00:02:53,010 Agus sin é. 47 00:02:53,010 --> 00:02:54,860 Is é mo ainm Rob agus bhí sé seo Mario. 48 00:02:54,860 --> 00:03:01,718