Объяснение:
#include<iostream>
using namespace std;
//добавлен фиктивный 0-й элемент, чтобы нумерация была как
//в задании (в с++ нумеровать массивы можно только с 0)
int arr[16] = {0, 10, 22, 16, 11, 45, 25, 25, 4, 10, 7, 8, 25, 10, 1, 9};
// чтобы найти сумму в поддереве вершины i, нужно вызвать
// recurrent_sum(i);
int recurrent_sum(int current){
//условие выхода из рекурсии
if(current > 15){
return 0;
}
return arr[current] + recurrent_sum(2 * current) + recurrent_sum(2 * current + 1);
}
int even_counter(int current){
if(current > 15){
return 0;
}
return (arr[current] % 2 == 0 ? 1 : 0) + even_counter(2 * current) + even_counter(2 * current + 1);
}
int main(){
//проверяем, что всё работает.
cout << recurrent_sum(1) << endl; //228
cout << even_counter(1) << endl; //7
return 0;
}
Сказка о труде.
Пришла золотая осень. Сеет частый дождь. Нет больше цветов. Нет мягкой травы. Все желто стало.
В саду сыро. Нельзя гулять. Мама сидит у окна и шьёт. Варя сидит подле неё и смотрит в окно.
— Скучный дождь, нельзя гулять! — пищит Варя.
— Не все гулять, надо и дело делать. Возьми нитки. Вяжи.
— Лень!
Мама молчит и шьёт.
— Мама, скажи сказку! — снова пищит Варя.
— Изволь, слушай! Взошло солнце. Встал ото сна труд. Взялся за дело.
А лень лежит, пальцем не двинет. День Солнце идет на закат. «Пора и
тебе, труд, отдых дать. Бери свою плату; сытно поешь, вкусно попей и крепко усни
до утра!»
— И я есть хочу, и я пить хочу! — пищит лень.
— А на что ты купишь питье и еду? Где твое дело? За что дать тебе плату? Труд поел-попил, лег и сладко уснул до утра. А лень голод томит, жажда томит, и сон на ум не идет. А как быть? Кто дела не делал, тот не проси и кушать!
— Мама, — просит Варя, — дайка мне нитки; я буду вязать; а то скоро и обед!