Warning: Illegal string offset 'html' in /var/www/lvp37/data/www/lvp37.ru/cache/skin_cache/cacheid_1/skin_topic.php on line 909
Разложение на простые множители - олимпиадники-информатики

Перейти к содержимому


- - - - -

Разложение на простые множители


В этой теме нет ответов

#1 yanush

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 22 December 2011 - 13:00

Условие: Вывести представление целого числа N в виде произведения простых чисел.
Ограничения: 2 <= N <= 231 - 1.
Ввод: В первой строке находится единственное число N.
Вывод: Выводится список чисел в порядке неубывания, разделённых знаком "*".
Примеры
Ввод 1 Ввод 2
5 30
Вывод 1 Вывод 2
5 2*3*5

var d,x:longint;
begin
readln(x);
d:=2;
while int64(d)*d<=x do
if x mod d =0 then begin
       			x:=x div d;
       			write(d,'*');
       			end
          	else if d=2 then d:=3
                      	else d:=d+2;
write(x);
end.






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анононимных