Функции ( Решение) / 11
.docx11.Написать три функции для определения характеристик числа (четное/нечетное, простое/непростое, совершенное/несовершенное) и оформить их в отдельном файле.
#include <iostream>
#include <cmath>
bool isEven(int number) {
return (number % 2 == 0);
}
bool isPrime(int number) {
if (number <= 1) {
return false;
}
for (int i = 2; i <= sqrt(number); ++i) {
if (number % i == 0) {
return false;
}
}
return true;
}
bool isPerfect(int number) {
if (number <= 1) {
return false;
}
int sum = 1; // 1 is a divisor for all numbers
for (int i = 2; i <= sqrt(number); ++i) {
if (number % i == 0) {
sum += i;
if (i != number / i) {
sum += number / i;
}
}
}
return sum == number;
}
int main() {
int inputNumber;
std::cout << "Enter a number: ";
std::cin >> inputNumber;
if (isEven(inputNumber)) {
std::cout << inputNumber << " is even." << std::endl;
} else {
std::cout << inputNumber << " is odd." << std::endl;
}
if (isPrime(inputNumber)) {
std::cout << inputNumber << " is prime." << std::endl;
} else {
std::cout << inputNumber << " is not prime." << std::endl;
}
if (isPerfect(inputNumber)) {
std::cout << inputNumber << " is a perfect number." << std::endl;
} else {
std::cout << inputNumber << " is not a perfect number." << std::endl;
}
return 0;
}
