Програмирование Паскаль Дано натуральное число N. Представить его в виде суммы простых натуральных чисел так, чтобы произведение этих слагаемых было максимально. Входные данные В единственной строке входного файла INPUT.TXT зап...
Програмирование Паскаль
Дано натуральное число N. Представить его в виде суммы простых натуральных чисел так, чтобы произведение этих слагаемых было максимально.
Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число N (1 < N < 2 000 000 000).
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести простые числа по возрастанию с указанием их количества при разложении, т.е.: <число> <количество>.
Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 2 1 3 1
2 30 3 10
Ответ(ы) на вопрос:
Максимально возможное произведение получается при разложении на тройки и двойки:
var n, a: longint;
begin
read(n);
a := n div 3;
n := n mod 3;
if n = 1 then
begin
a := a - 1;
n := n + 3
end;
if n > 1 then write('2 ', n div 2, ' ');
if a > 0 then write('3 ', a)
end.
Не нашли ответ?
Похожие вопросы