>> SPEAKER 1: Trong phiên bản mới nhất của sigma, tôi thực hiện những gì tôi sẽ gọi
một giải pháp lặp đi lặp lại, nhờ đó mà tôi đã sử dụng một về phía trước vòng lặp để đếm tất cả các
số từ 1 đến m, sau đó trả lại tiền.
>> Nhưng hóa ra chúng ta có thể sử dụng một kỹ thuật để thực hiện cùng
chức năng, một kỹ thuật được gọi là đệ quy.
Một hàm đệ quy, có thể nói, chỉ đơn giản là một trong những cuộc gọi của chính nó.
Bây giờ, trong và của chính nó, mà có thể là một vấn đề.
Nếu một chức năng đơn giản tự gọi mình mà tự gọi mình là các cuộc gọi riêng của mình,
quá trình mà có thể bot bao giờ kết thúc.
Nhưng chừng nào chúng ta có một cái gọi là trường hợp cơ sở, điều kiện đảm bảo
mà trong một số trường hợp chúng tôi không gọi mình, rằng quá trình khác
vòng lặp vô hạn nên chấm dứt.
>> Bây giờ hãy reimplement sigma như sau.
Nếu n là nhỏ hơn hoặc bằng 0, tôi đơn giản, và có phần tùy tiện,
sẽ trở về 0.
Khác những gì tôi sẽ làm thực sự là tính sigma cho int tích cực
mà tôi đã được giao.
>> Bây giờ, sigma của m là gì?
Vâng, sigma của m là, tất nhiên, tổng của 1 lên thông qua m.
Nhưng nếu chúng ta nghĩ về nó theo cách khác, nó chỉ đơn giản là tổng của m cộng với m
trừ 1 cộng trừ 2 m và vv, tất cả các con đường xuống 1.
Vì vậy, trong ý nghĩa đó, có vẻ như là Tôi chỉ đơn giản là có thể trở lại cộng với m.
>> Và sau đó tôi cần m trừ 1 cộng trừ m 2.
Nhưng tôi có một chức năng có thể cung cấp tôi chính xác câu trả lời, cụ thể là
sigma của m trừ đi 1.
>> Bây giờ, gọi bản thân mình theo cách này không có vẻ như ý tưởng tốt nhất.
Bởi vì nếu gọi sigma sigma mà các cuộc gọi sigma trong đó kêu gọi sigma, bạn
sẽ nghĩ rằng quá trình này có thể không bao giờ kết thúc.
Nhưng đó là lý do tại sao chúng tôi đã có cơ sở cái gọi là trường hợp ở trên cùng của chức năng này.
Nếu điều kiện để kiểm tra nếu m là nhỏ hơn hoặc bằng 0 Tôi sẽ không
gọi bản thân mình.
Tôi thay vì sẽ trở về 0, trong đó lần lượt sẽ được thêm vào
số trước mà chúng tôi đã tổng hợp lên, do đó ngăn chặn này
quá trình nếu không vô hạn.
>> Bây giờ hãy xem mới này hoạt động thực hiện.
Hãy tiết kiệm, biên dịch, và chạy chương trình này.
Làm cho sigma 1 dấu chấm giảm sigma 1.
Và chúng ta hãy cung cấp cho nó với con số tương tự như trước đây.
2, hy vọng sẽ cho tôi 3.
Hãy cung cấp cho nó 3, hy vọng sẽ cung cấp cho tôi 6.
Và để cuối cùng của nó cung cấp với 50, mà thực sự mang lại cho tôi 1.275.