Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
16.06.2026
Размер:
16.18 Кб
Скачать

12. Написать три функции для работы с числом и его делителями (сумма делителей, сумма четных делителей, сумма нечетных делителей) и оформить их в отдельном файле.

divisor_operations.h:

#ifndef DIVISOR_OPERATIONS_H
#define DIVISOR_OPERATIONS_H


int sumOfDivisors(int number);
int sumOfEvenDivisors(int number);
int sumOfOddDivisors(int number);

#endif  // DIVISOR_OPERATIONS_H

divisor_operations.cpp:

#include "divisor_operations.h"


int sumOfDivisors(int number) {
    int sum = 0;
    for (int i = 1; i <= number; ++i) {
        if (number % i == 0) {
            sum += i;
        }
    }
    return sum;
}


int sumOfEvenDivisors(int number) {
    int sum = 0;
    for (int i = 1; i <= number; ++i) {
        if (number % i == 0 && i % 2 == 0) {
            sum += i;
        }
    }
    return sum;
}


int sumOfOddDivisors(int number) {
    int sum = 0;
    for (int i = 1; i <= number; ++i) {
        if (number % i == 0 && i % 2 != 0) {
            sum += i;
        }
    }
    return sum;
}

main.cpp:

#include <iostream>
#include "divisor_operations.h"

int main() {
    int inputNumber;

    
    std::cout << "Enter a number: ";
    std::cin >> inputNumber;

    int totalDivisorsSum = sumOfDivisors(inputNumber);
    std::cout << "Sum of divisors: " << totalDivisorsSum << std::endl;

    int evenDivisorsSum = sumOfEvenDivisors(inputNumber);
    std::cout << "Sum of even divisors: " << evenDivisorsSum << std::endl;

    int oddDivisorsSum = sumOfOddDivisors(inputNumber);
    std::cout << "Sum of odd divisors: " << oddDivisorsSum << std::endl;

    return 0;
}

Соседние файлы в папке Функции ( Решение)