Предмет: Информатика,
автор: Tibedoh
PASCAL
На вход с клавиатуры получаем число, не превосходящее 10^9. Вывести все его простые делители, между ними - звездочки. Например, для числа 36 выводом должно быть 2*2*3*3.
Ответы
Автор ответа:
0
__________________________
Приложения:
Автор ответа:
0
В математике - знаю, про решето Эратосфена знаю, как это перенести в паскаль - нет, как еще и сделать это эффективно - тем более.
Автор ответа:
0
В Pascal ABC.net, в примерах есть программа "Решето Эратосфена". Понятия не имею, что это=D
Автор ответа:
0
Если ты до того, как определить, простое ли большое число, своими силами дошел, это, конечно, хорошо, но что ты тогда на этом сайте забыл? Здесь вроде как помогают понять как делать, а "решения в уме" полезны только тому, кто их умеет совершать.
Автор ответа:
0
Repeat
i:=i+2; - прибавляем двойку, чтобы исключить нечётные числа, т.к. все 2 мы исключили в предыдущем цикле
While A mod i = 0 do Если A не делится на i нацело, то цикл repeat ещё раз прибавит к i двойку
Begin
S:=S+'*'+IntToStr(i); Если A делится нацело на i, то i будет выведено на экран
A:=A div i Переменная A разделится на i, и цикл While снова проверит, делится ли A на то же самое i, ещё, если же нет, i снова увеличится
End
Until i>N;
i:=i+2; - прибавляем двойку, чтобы исключить нечётные числа, т.к. все 2 мы исключили в предыдущем цикле
While A mod i = 0 do Если A не делится на i нацело, то цикл repeat ещё раз прибавит к i двойку
Begin
S:=S+'*'+IntToStr(i); Если A делится нацело на i, то i будет выведено на экран
A:=A div i Переменная A разделится на i, и цикл While снова проверит, делится ли A на то же самое i, ещё, если же нет, i снова увеличится
End
Until i>N;
Автор ответа:
0
Спасибо.
Похожие вопросы
Предмет: Литература,
автор: avelina2355
Предмет: История,
автор: Аноним
Предмет: История,
автор: Аноним
Предмет: Химия,
автор: НастяВольская
Предмет: Математика,
автор: 280379