Пеш аз оғоз
Аввал ба чор савол дар тавзеҳҳо ҷавоб диҳед. Функсия чӣ маъно дорад? Ҳолати асосӣ чист? Масъала чӣ тавр хурдтар мешавад? Ҷавоби хурдтар чӣ тавр истифода мешавад? Вақте чор сатрро навишта тавонед, код кӯтоҳ мешавад. Аксари ин масъалаҳо сикл ҳам шуда метавонанд: ҳадаф дар ин ҷо ҳал кардани онҳо рекурсивӣ аст.
Масъалаҳои 1 то 4 вазифаи хонагии дарси аввал мебошанд. Функсияи худро дар ин ҷо бо вуруди хурд озмоед:
Агар монед
Нишондодро танҳо вақте кушоед, ки ниёз доред.
3. Ҷамъ то n
Маслиҳати 1. Ҷамъ барои n ба n + ҷамъ барои n - 1 баробар аст.
Маслиҳати 2. Ҳолати асосӣ n == 0 аст: ҷамъ 0 аст. Онро пеш аз сатри рекурсивӣ нависед.
Маслиҳати 3. n то 100 000 мерасад, бинобар ин рекурсия 100 000 даъват чуқур аст: кор мекунад. Ҷамъ тақрибан 5 · 10⁹ аст, пас long long-ро истифода баред.
4. Ҷамъи рақамҳо
Маслиҳати 1. Рақами охирин n % 10 аст. Боқимондаи адад n / 10 аст.
Маслиҳати 2. Ҳолати асосӣ: вақте n ба 0 баробар аст, рақам намондааст ва ҷамъ 0 аст. Вагарна рақами охиринро ба ҷамъи боқимонда илова кунед.
Маслиҳати 3. n метавонад манфӣ бошад ва дар C++ -1024 % 10 ин аст. Аввал дар қимати мутлақро гиред, баъд функсияро даъват кунед. Адад то 10¹⁸ мерасад: .