1 00:00:00,000 --> 00:00:03,110 >> سرور 1: في هذا الإصدار الأخير من سيغما، وأنا نفذت ما يمكن أن أسميه 2 00:00:03,110 --> 00:00:06,570 حل تكرارية، حيث اعتدت على حلقة قدما إلى العد حتى كل من 3 00:00:06,570 --> 00:00:09,720 أرقام بين 1 و م، بعد ذلك إعادة المبلغ. 4 00:00:09,720 --> 00:00:12,560 >> ولكن اتضح يمكننا استخدام آخر تقنية لتنفيذ نفس 5 00:00:12,560 --> 00:00:15,120 وظيفة، وهي تقنية المعروفة باسم العودية. 6 00:00:15,120 --> 00:00:19,360 وظيفة العودية، إذا جاز التعبير، هي مجرد واحدة تطلق على نفسها. 7 00:00:19,360 --> 00:00:21,290 الآن، في حد ذاته، وهذا قد يكون هناك مشكلة. 8 00:00:21,290 --> 00:00:24,500 إذا وظيفة يدعو ببساطة نفسها التي تطلق على نفسها التي تطلق على نفسها، 9 00:00:24,500 --> 00:00:26,080 هذه العملية قد تنتهي بوت من أي وقت مضى. 10 00:00:26,080 --> 00:00:30,490 ولكن طالما نحن تشمل ما يسمى الحالة الأساسية، شرط أن يضمن 11 00:00:30,490 --> 00:00:34,930 أننا لا ندعو في بعض الحالات أنفسنا، أن عملية خلاف ذلك 12 00:00:34,930 --> 00:00:37,070 حلقات لانهائية يجب أن تتوقف. 13 00:00:37,070 --> 00:00:39,180 >> دعونا الآن reimplement سيغما على النحو التالي. 14 00:00:39,180 --> 00:00:43,810 إذا كان n أقل من أو يساوي 0، وأنا ببساطة، وإلى حد ما بشكل تعسفي، 15 00:00:43,810 --> 00:00:45,670 الذهاب الى العودة 0. 16 00:00:45,670 --> 00:00:49,370 آخر ما أنا بصدد القيام به هو الواقع سيغما لحساب كثافة إيجابية 17 00:00:49,370 --> 00:00:50,460 أن لقد تم تسليم. 18 00:00:50,460 --> 00:00:52,050 >> الآن، ما هو سيغما من م؟ 19 00:00:52,050 --> 00:00:55,480 حسنا، من سيغما م هو، بطبيعة الحال، مجموع من 1 حتى من خلال م. 20 00:00:55,480 --> 00:00:58,820 ولكن إذا كنا نفكر في ذلك وسيلة أخرى، انها ببساطة مجموع متر زائد متر 21 00:00:58,820 --> 00:01:02,560 ناقص 1 زائد ناقص 2 م وهكذا دواليك، على طول الطريق وصولا الى 1. 22 00:01:02,560 --> 00:01:08,080 حتى في هذا المعنى، يبدو أن أنا يمكن أن يعود ببساطة متر زائد. 23 00:01:08,080 --> 00:01:10,210 >> ثم أحتاج م ناقص 1 زائد ناقص 2 م. 24 00:01:10,210 --> 00:01:13,470 ولكن لدي وظيفة التي يمكن أن تعطي لي بالضبط هذا الجواب، وهما 25 00:01:13,470 --> 00:01:16,340 سيجما للمتر ناقص 1. 26 00:01:16,340 --> 00:01:19,670 >> الآن، داعيا نفسي بهذه الطريقة لا يبدو وكأنه أفضل فكرة. 27 00:01:19,670 --> 00:01:22,610 لأنه إذا كان يدعو سيغما سيغما الذي يدعو سيغما الذي يدعو سيغما، كنت 28 00:01:22,610 --> 00:01:24,480 أعتقد أن هذه العملية قد لا ينتهي أبدا. 29 00:01:24,480 --> 00:01:27,720 ولكن لهذا السبب كان لدينا ما يسمى قاعدة الحالة في الجزء العلوي من هذه الوظيفة. 30 00:01:27,720 --> 00:01:31,540 وإذا كان الشرط أن يتحقق إذا م هو أقل من أو يساوي 0 أنا لن 31 00:01:31,540 --> 00:01:32,610 لأسمي نفسي. 32 00:01:32,610 --> 00:01:37,010 انا ذاهب الى العودة بدلا من ذلك 0، والذي بدوره سوف تضاف إلى 33 00:01:37,010 --> 00:01:39,950 الأرقام السابقة التي كنت تلخيص يصل، وبالتالي وقف هذا 34 00:01:39,950 --> 00:01:41,740 عملية لانهائية خلاف ذلك. 35 00:01:41,740 --> 00:01:43,710 >> دعونا نرى الآن ما إذا كان هذا الجديد يعمل التنفيذ. 36 00:01:43,710 --> 00:01:46,510 دعونا حفظ وتجميع، و تشغيل هذا البرنامج. 37 00:01:46,510 --> 00:01:50,640 جعل سيغما 1 نقطة خفض سيغما 1. 38 00:01:50,640 --> 00:01:52,900 ودعونا تزويده الأرقام نفسها كما كانت من قبل. 39 00:01:52,900 --> 00:01:55,520 2، والتي ينبغي أن نأمل أن تعطيني 3. 40 00:01:55,520 --> 00:01:58,970 دعونا تزويدها 3، والتي ينبغي أن نأمل أن تعطيني 6. 41 00:01:58,970 --> 00:02:03,480 ودعونا أخيرا تزويده 50، الذي يعطي حقا لي 1،275. 42 00:02:03,480 --> 00:02:06,130