Решите задачу на на c++:
Задано целое натуральное число n. Выведите простой делитель числа n с наибольшей суммой цифр. Гарантируется, что такой делитель будет ровно один..
Ответы на вопрос
Ответ:
#include <iostream>
// Функция для вычисления суммы цифр числа
int sumOfDigits(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
return sum;
}
int main() {
int n;
std::cout << "Введите натуральное число n: ";
std::cin >> n;
// Поиск простого делителя с наибольшей суммой цифр
int maxSum = 0;
int maxDivisor = 1;
for (int i = 2; i <= n; ++i) {
if (n % i == 0) {
int currentSum = sumOfDigits(i);
if (currentSum > maxSum) {
maxSum = currentSum;
maxDivisor = i;
}
}
}
std::cout << "Простой делитель с наибольшей суммой цифр: " << maxDivisor << std::endl;
return 0;
}
Программа сначала запрашивает натуральное число n, а затем находит простой делитель этого числа с наибольшей суммой цифр.