Вы могли бы помочь мне с написанием программы на языке С++?

  • 25 августа 2023 г. 17:56
Ответы на вопрос 10
Эта программа решает данную задачу на языке 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
Похожие вопросы