Добавил:
015963210a
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Функции ( Решение) / 12
.docx
12. Написать три функции для работы с числом и его делителями (сумма делителей, сумма четных делителей, сумма нечетных делителей) и оформить их в отдельном файле.
divisor_operations.h:
#ifndef DIVISOR_OPERATIONS_H#define DIVISOR_OPERATIONS_Hint 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;}
