Объяснение:
#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){
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
Дано:
S = 3 года
T⊕ = 1 год
а⊕ = 1 а.е.
Найти:
a - ?
1) Большая полуось её орбиты можно воспользоваться по третьему закону Кеплера:
T²/T⊕² = a³/a⊕³ ⇒ a = ∛a⊕³×T²/T⊕²
2) Но нам не известно сидерический период планеты T, мы будем использовать по такой формуле:
1/S = 1/T⊕ - 1/T
1/T = 1/S - 1/T⊕ ⇒ T = T⊕×S/S-T⊕
3) Теперь мы сидерический период планеты T, теперь мы решаем его:
T = 1 год × 3 года / 3 года - 1 год = 3 года/2 года = 1,5 года
4) И дальше мы можем большая полуось её орбиты используя формулой под пунктом (1) выделено жирным:
a = ∛(1 а.е.)³ × (1,5 года)²/(1 год)² = ∛1 а.е.³ × 2,25 года²/1 год² = ∛1 а.е.³ × 2,25 = ∛2,25 а.е.³ ≈ 1,31 а.е.
ответ: a = 1,31 а.е.
Объяснение:
#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;
}
Дано:
S = 3 года
T⊕ = 1 год
а⊕ = 1 а.е.
Найти:
a - ?
1) Большая полуось её орбиты можно воспользоваться по третьему закону Кеплера:
T²/T⊕² = a³/a⊕³ ⇒ a = ∛a⊕³×T²/T⊕²
2) Но нам не известно сидерический период планеты T, мы будем использовать по такой формуле:
1/S = 1/T⊕ - 1/T
1/T = 1/S - 1/T⊕ ⇒ T = T⊕×S/S-T⊕
3) Теперь мы сидерический период планеты T, теперь мы решаем его:
T = 1 год × 3 года / 3 года - 1 год = 3 года/2 года = 1,5 года
4) И дальше мы можем большая полуось её орбиты используя формулой под пунктом (1) выделено жирным:
a = ∛(1 а.е.)³ × (1,5 года)²/(1 год)² = ∛1 а.е.³ × 2,25 года²/1 год² = ∛1 а.е.³ × 2,25 = ∛2,25 а.е.³ ≈ 1,31 а.е.
ответ: a = 1,31 а.е.