![]() |
|
Модераторы: bsa |
![]()
|
|
| pacantre |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 24.4.2012 Репутация: нет Всего: нет |
Задача из сборника Златопольского
8.54*. Дано натуральное число n. Получить все простые делители этого числа
Выводит не простые делители, а все числа от 1го до n Объясните как правильно Это сообщение отредактировал(а) bsa - 24.4.2012, 16:10 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
В строке 14 замени 0 на -1;
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
строка 14 пустая
Добавлено @ 17:20 pacantre, нужно проверку
перенести выше, внутрь цикла проверки if. иначе получается, что k==0 даже если это не простой делитель. у тебя еще одна ошибка: число 1 простым не считается, поэтому внешний цикл надо начинать от 2 Это сообщение отредактировал(а) baldina - 24.4.2012, 17:22 |
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: нет Всего: 3 |
Хочу только добавить, что нет НИКАКОГО смысла перебирать подряд числа от 1 до n в поисках делителей... До sqrt(n) достаточно (подумайте сами, почему), и только 2 и нечетные (опять же очевидно, почему). А еще лучше не просто нечетные, а нечетные вида 6k+1, 6k-1. Тогда работать ваша программа будет явно пошустрее
Опять же - к чему вторая проверка? Представим, что ваше число делится на какое-то. Но вы УЖЕ прооверили делимость на все меньшие, верно? так что ваш найденный делитель уже ни на что делиться не будет... На коленке за 5 минут
Это сообщение отредактировал(а) disputant - 24.4.2012, 18:42 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |