| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Нахождение простых делителей заданного числа |
| Автор: pacantre 24.4.2012, 15:29 | ||
| Задача из сборника Златопольского 8.54*. Дано натуральное число n. Получить все простые делители этого числа
Выводит не простые делители, а все числа от 1го до n Объясните как правильно |
| Автор: bsa 24.4.2012, 16:07 |
| В строке 14 замени 0 на -1; |
| Автор: disputant 24.4.2012, 18:29 | ||
| Хочу только добавить, что нет НИКАКОГО смысла перебирать подряд числа от 1 до n в поисках делителей... До sqrt(n) достаточно (подумайте сами, почему), и только 2 и нечетные (опять же очевидно, почему). А еще лучше не просто нечетные, а нечетные вида 6k+1, 6k-1. Тогда работать ваша программа будет явно пошустрее Опять же - к чему вторая проверка? Представим, что ваше число делится на какое-то. Но вы УЖЕ прооверили делимость на все меньшие, верно? так что ваш найденный делитель уже ни на что делиться не будет... На коленке за 5 минут
|