у нас для длины n = 1 может получиться только 8 и 9 - 2 числа
для n = 2 может получиться только 89, 88, 98 - 3 числа
что мы можем сделать для n = 3?
к предыдущим числам длиной 2 добавить 8
898
888
988
а также мы можем добавить 9 тогда, если последняя цифра числа не 9. Это получается только тогда, когда мы для чисел длиной 1 добавляли 8(
88, 98).
колво чисел для 3 = колво чисел для 2 + колво чисел для 1 = 2 + 3 = 5.
Получаем рекусивное соотношение
то есть чтобы узнать сколько получится чисел длиной n, нам надо добавить к кол-ву чисел длиной n - 1 добавить 8(эти числа могут гарантированно быть т.к. 9 нету) и прибавить количество чисел длиной n - 2 (то есть мы к ним добавили 8 и их длина получилась n - 1 и к ним еще добавили девятку (их длина стала n), чтобы гарантированно не было двух девяток подряд)
и так для 4 получается = кол-во 3 + кол-во 2 = 3 + 5 = 8
#include <iostream>
using namespace std;
int main()
{
int mas[20] = {};
int even = 0;
int odd = 0;
for (int i = 0; i < 20; i++)
{
cin >> mas[i];
}
for (int i = 0; i < 20; i++)
{
if (mas[i] % 2 == 0)
{
even++;
}
else
{
odd++;
}
}
if (even > odd)
{
cout << "Чётных больше.";
}
else if (odd > even)
{
cout << "Нечётных больше.";
}
else
{
cout << "Равное количество.";
}
}
Объяснение:
#include <iostream> // Библиотека ввода - вывода
using namespace std; // Пространство имён
int main()
{
int mas[20] = {}; // Создание целочисленного массива размерностью 20, заполненного нулями
int even = 0; // Создание целочисленной переменной, хранящей количество четных элементов
int odd = 0; // Создание целочисленной переменной, хранящей количество нечетных элементов
for (int i = 0; i < 20; i++) // Идём по массиву
{
cin >> mas[i]; // Вводим элементы массива с клавиатуры
}
for (int i = 0; i < 20; i++) // Идём по массиву
{
if (mas[i] % 2 == 0) // Если остаток от деления значения массива mas с индексом i на 2 = 0
{
even++; // +1 к четному
}
else // Иначе
{
odd++; // +1 к нечетному
}
}
if (even > odd) // Если значение переменной even > значения переменной odd
{
cout << "Чётных больше."; // Выводим ответ
}
else if (odd > even) // Если значение переменной odd > значения переменной even
{
cout << "Нечётных больше."; // Выводим ответ
}
else // Иначе
{
cout << "Равное количество."; // Выводим ответ
}
}
ответ: 13
объяснение:
у нас для длины n = 1 может получиться только 8 и 9 - 2 числа
для n = 2 может получиться только 89, 88, 98 - 3 числа
что мы можем сделать для n = 3?
к предыдущим числам длиной 2 добавить 8
898
888
988
а также мы можем добавить 9 тогда, если последняя цифра числа не 9. Это получается только тогда, когда мы для чисел длиной 1 добавляли 8(
88, 98).
колво чисел для 3 = колво чисел для 2 + колво чисел для 1 = 2 + 3 = 5.
Получаем рекусивное соотношение
то есть чтобы узнать сколько получится чисел длиной n, нам надо добавить к кол-ву чисел длиной n - 1 добавить 8(эти числа могут гарантированно быть т.к. 9 нету) и прибавить количество чисел длиной n - 2 (то есть мы к ним добавили 8 и их длина получилась n - 1 и к ним еще добавили девятку (их длина стала n), чтобы гарантированно не было двух девяток подряд)
и так для 4 получается = кол-во 3 + кол-во 2 = 3 + 5 = 8
для 5 получается = кол-во 4 + кол-во3 = 8 + 5 = 13
ну кароче что то вроде последовательности Фибоначчи
и так можно написать программу которая вычислит колво для любой длины