Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Динамическое программирование, помогите пожалуйста срочно!?

Panda Introvert Shhhh Ученик (92), закрыт 1 неделю назад
Лучший ответ
Любопытный исследователь Мастер (1188) 1 неделю назад
Нормально @Jurijus Zaksas ответил.
 #include  
using namespace std;
int cnt = 0;
void count13(int a) {
if (a == 18)
cnt++;
if (a >= 18)
return;
count13(a + 1);
if (a != 0)
count13(a * 3);
}
int main() {
count13(3);
cout< return 0;
}
Ответ: 5.
Остальные ответы
Jurijus Zaksas Искусственный Интеллект (426180) 1 неделю назад
Ну либо, опять же, выполни трассировку (она тут древовидная, будет сложно), либо напиши рекуррентную функцию:

 int cnt = 0; 

void count13(int a)
{
if (a == 18)
cnt++;
if (a >= 18)
return;
count13(a + 1);
if (a != 0)
count13(a * 3);
}
Похожие вопросы