Эта программа решает данную задачу на языке C++. Она содержит функцию isDivisibleBy11, которая проверяет, делится ли число на 11, и функцию main, которая запрашивает у пользователя число m и выводит все числа, не превосходящие m, которые делятся на 11.
// Подключение необходимых библиотек. #include#include // Функция для вычисления суммы цифр на нечетных позициях числа. int calculateSumOfOddDigits(int num) { int sum = 0; int position = 1; while(num > 0) { int n = num % 10; if (position % 2 != 0) { sum += n; } num /= 10; ++position; } return sum; } // Функция для определения, можно ли число поделить на 11. bool isDivisible(int num) { int sumOddPositions = calculateSumOfOddDigits(num); int sumEvenPositions = 0; int position = 1; while(num > 0) { int n = num % 10; if (position % 2 == 0) { sumEvenPositions += n; } num /= 10; ++position; } return std::abs(sumOddPositions - sumEvenPositions) % 11 == 0; } // Главная функция. int main() { int m; std::cout << "M: "; std::cin >> m; std::cout << "Числа, кратные 11 и удовлетворяющие условию:" << std::endl; for (int n = 1; n <= m; ++n) { if (isDivisible(n)) { std::cout << n << std::endl; } } return 0; }
Пример:M: 72
Числа, кратные 11 и удовлетворяющие условию:
11
22
33
44
55
66