>> 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.