Цитата:
Сообщение от Kazelina
Вот мое решение. Я уверена, что здесь есть недочеты. Помогите исправить.
|
Мне кажется - всё правильно. Очень остроумное решение. Единственная ма-а-аленькая поправка: вместо
write(g,i);
следует написать
write(g,i,' ');
то есть после каждого записанного в выходной файл числа ставить пробел, чтобы множители не сливались.
А вообще, если сами придумали - умница! Я бы начал с того, чтобы каким-нибудь решетом Эратосфена либо еще как-нибудь составил массив простых чисел, не превышающих половину исходного, а затем проверял бы на делимость. А у Вас - ну просто красотища, а не решение! Браво!
Единственно только еще замечание. Каким Паскалем Вы пользуетесь? Если ABC, то всё правильно, а вот если Turbo, Borland или Free, то для m и n формат Integer не подходит, нужно LongInt, раз уж диапазон доходит до 100000 (в Integer верхний предел - 32000 с копейками).