Привет! С радостью поделюсь с тобой логической функцией на языке C , которая определит, является ли переданное ей число совершенным. Для начала, давай определим, что такое совершенное число. Совершенное число ─ это число, которое равно сумме своих делителей, меньших его самого.
Для решения этой задачи, я использую следующий алгоритм⁚
1. Объявляю функцию isPerfect٫ которая принимает один аргумент ─ число٫ которое нужно проверить.
2. Внутри функции, создаю переменную sum и инициализирую ее нулем. Она будет использоваться для хранения суммы делителей числа.
3. Использую цикл for, чтобы перебрать все числа от 1 до числа n (включительно).
4. Внутри цикла, проверяю, делится ли число n на i без остатка. Если да, то прибавляю i к переменной sum.
5. По окончании цикла٫ проверяю٫ равна ли переменная sum числу n. Если да٫ то число является совершенным и возвращаю true. В противном случае٫ возвращаю false.
Вот как выглядит код реализации на C ⁚
cpp
#include
bool isPerfect(int n) {
int sum 0;
for (int i 1; i < n; i ) {
if (n % i 0) {
sum i;
}
}
return sum n;
}
int main {
int number;
std⁚⁚cout << ″Введите натуральное число⁚ ″;
std⁚⁚cin >> number;
if (isPerfect(number)) {
std⁚⁚cout << ″Число ″ << number << ″ совершенное.″ << std⁚⁚endl;
} else {
std⁚⁚cout << ″Число ″ << number << ″ не совершенное.″ << std⁚⁚endl;
}
return 0;
}
Теперь у тебя есть полная программа на C , которая определит, является ли введенное число совершенным. Просто запусти программу и введи число, которое хочешь проверить. Программа выдаст результат проверки.
Надеюсь, это поможет тебе! Если у тебя есть какие-либо вопросы, не стесняйся задавать!