Для решения данной задачи на языке программирования C++, нам необходимо выполнить несколько шагов:
- Считать N натуральных чисел.
- Проверить каждое число на длину и состав цифр.
- Подсчитать, сколько из этих чисел имеют нечётную длину и состоят только из нечётных цифр.
Ниже представлен пример реализации этой задачи на C++:
#include <iostream>
#include <string>
bool hasOddDigitsOnly(const std::string& number) {
for (char digit : number) {
if ((digit - '0') % 2 == 0) { // Если текущая цифра чётная
return false; // Возвращаем false, если найдена хоть одна чётная цифра
}
}
return true; // Все цифры нечётные
}
int main() {
int N;
std::cout << "Введите количество чисел: ";
std::cin >> N;
int count = 0;
for (int i = 0; i < N; ++i) {
std::string number;
std::cout << "Введите число: ";
std::cin >> number;
// Проверяем длину числа и только нечетные цифры
if (number.length() % 2 != 0 && hasOddDigitsOnly(number)) {
count++;
}
}
std::cout << "Количество чисел с нечётной длиной, состоящих только из нечётных цифр: " << count << std::endl;
return 0;
}
Объяснение кода:
Функция
hasOddDigitsOnly:- Эта функция принимает строку, представляющую число, и проверяет, состоит ли оно только из нечётных цифр. Если найдена хотя бы одна чётная цифра, функция возвращает
false, иначеtrue.
- Эта функция принимает строку, представляющую число, и проверяет, состоит ли оно только из нечётных цифр. Если найдена хотя бы одна чётная цифра, функция возвращает
Основная функция
main:- Запрашивается количество чисел N.
- С помощью цикла считываются N чисел.
- Для каждого числа проверяется, является ли его длина нечётной и состоит ли оно только из нечётных цифр, используя функцию
hasOddDigitsOnly. - Если оба условия выполняются, увеличивается счётчик.
В конце выводится количество чисел, удовлетворяющих условиям.
Этот код будет давать вам желаемый результат, и его можно использовать в качестве основы для дальнейших улучшений или модификаций. Если у вас есть дополнительные вопросы по коду или другим аспектам программирования, не стесняйтесь спрашивать!
