Вопрос № 68072: Здраствуйте!
Погите со следующей задачкой:
Напишитк процедуру, которая массив целых чисел
(2 <= m < n <= 100, array [m..n] of 2..maxint) отсортирует так что бы: первая часть массива это сложные числа (у кот. более 2 делителей) р...
Вопрос № 68.072
Здраствуйте!
Погите со следующей задачкой:
Напишитк процедуру, которая массив целых чисел
(2 <= m < n <= 100, array [m..n] of 2..maxint) отсортирует так что бы: первая часть массива это сложные числа (у кот. более 2 делителей) расположенные по возростанию, втарая часть это простые числа, располженные в порядке убывания.
Условие: нельзя создавать дополнительные массивы
Отправлен: 21.12.2006, 22:43
Вопрос задал: Dr1m (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Митрофанов Артем Борисович
Здравствуйте, Dr1m!
Код тут очень прост. Вот идея:
сначала написать функцию вычисления, простое число или нет(простое число-число, не имеющая целых делителей кроме себя и 1)
первый цикл: сортировка Шелла: выбираются простые, переставляются в конец
второй: Быстрая логарифмическая сортировка отдельных частей массива. Если вы сами не сможите это написать, оо повторите весь пройденный вами материал.