SPEAKER 1: Dalam versi terakhir dari sigma, saya menerapkan apa yang saya sebut solusi iteratif, dimana saya menggunakan lingkaran ke depan untuk menghitung semua angka antara 1 dan m, kemudian kembali jumlah tersebut. Tapi ternyata kita bisa menggunakan lain teknik untuk mengimplementasikan sama fungsi, teknik dikenal sebagai rekursi. Sebuah fungsi rekursif, sehingga untuk berbicara, hanya satu yang menyebut dirinya. Sekarang, dalam dan dari dirinya sendiri, bahwa mungkin menjadi masalah. Jika fungsi hanya menyebut dirinya yang menyebut dirinya yang panggilan itu sendiri, proses yang mungkin bot pernah berakhir. Tapi selama kita termasuk yang disebut-a kasus dasar, suatu kondisi yang menjamin bahwa dalam beberapa situasi kita tidak menyebut diri kita sendiri, bahwa proses sebaliknya perulangan tak terbatas harus dihentikan. Mari kita sekarang reimplement sigma sebagai berikut. Jika n adalah kurang dari atau sama dengan 0, aku sederhana, dan agak sewenang-wenang, akan kembali 0. Lain apa yang akan saya lakukan adalah benar-benar menghitung sigma untuk int positif bahwa saya telah diserahkan. Sekarang, apa yang sigma dari m? Nah, sigma m, tentu saja, jumlah 1 melalui m. Tetapi jika kita berpikir tentang hal ini dengan cara lain, itu hanya jumlah m ditambah m dikurangi 1 m ditambah minus 2 dan sebagainya, semua jalan ke 1. Jadi dalam arti bahwa, tampaknya Aku hanya bisa kembali m plus. Dan kemudian saya perlu m dikurangi 1 plus minus 2 m. Tapi aku punya fungsi yang dapat memberikan saya justru jawaban itu, yaitu sigma dari m dikurangi 1. Sekarang, menyebut diri dengan cara ini tidak tampak seperti ide yang terbaik. Karena jika sigma sigma panggilan yang menyerukan sigma yang menyerukan sigma, Anda akan berpikir bahwa proses ini mungkin tidak pernah berakhir. Tapi itulah mengapa kami memiliki apa yang disebut dasar kasus di atas fungsi ini. The jika kondisi yang memeriksa jika m adalah kurang dari atau sama dengan 0 Aku tidak akan untuk menyebut diriku. Aku bukannya akan kembali 0, yang pada gilirannya akan ditambahkan ke angka sebelumnya bahwa saya telah menjumlahkan up, sehingga menghentikan ini Proses sebaliknya tak terbatas. Mari kita sekarang melihat apakah ini baru implementasi bekerja. Mari kita simpan, kompilasi, dan menjalankan program ini. Membuat sigma 1 dot slash sigma 1. Dan mari kita memberikan itu dengan nomor yang sama seperti sebelumnya. 2, yang diharapkan akan memberi saya 3. Mari kita memberikan dengan 3, yang mudah-mudahan harus memberi saya 6. Dan mari kita akhirnya memberikan itu dengan 50, yang memang memberi saya 1.275.