![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Sinobithug |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 10.6.2009 Репутация: нет Всего: нет |
В текстовое поле вводится число нужно вывести простые числа(которые делятся без остатка на 1 и сами на себя) входящие в состав числа из текстового поля.
Преподаватель сказал что сам код правильный, только ошибки со скобками, помогите пожалуйста их найти и исправить. Это сообщение отредактировал(а) Sinobithug - 20.4.2010, 15:09 |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 7 Всего: 22 |
В принципе, ошибок нет, но код ужасающ, нечитабелен и некроссбраузерный. Не уверен, что все его "съедят".
1. document.form1.num1.value - исключительно для ИЕ. 2. Отсутствие оканчивающих точек с запятой - не стандарт. 3. Отсутствие инициирующих var засоряет память. 4. Надо полагать, что препод имел в виду ситуацию, когда st = st + ... выполняется в любом случае, а нужно, чтобы только при выполнении условия. Думаю, код будет более правильным таким:
|
|||
|
||||
| Sinobithug |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 10.6.2009 Репутация: нет Всего: нет |
IDVsbruck,
Ваш код не выводит ничего. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Вообще-то какой алгоритм, такой и вывод... что такое "входящие в состав числа из текстового поля"? слишком нетривиальная формулировка для моего математического образования... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
на коленке вот, сочинилось... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Sinobithug |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 10.6.2009 Репутация: нет Всего: нет |
Преподаватель сказал что всё правильно. ksnk, Ваш код просто отображаестя в браузере.
Если в текстовом поле ввели 20 то в alert должно вывеститсь 1 2 3 5 7 11 13 17 19 Это сообщение отредактировал(а) Sinobithug - 20.4.2010, 17:43 |
||||
|
|||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
Sinobithug, попытался вникнуть в логику вашего скрипта и не смог)))
Первое что на ум пришло это вот
но тут 2 цикла, это плохо, возможно и по другому можно |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Мне как-то неловко спрашивать... А компьютер у препода есть? К тому-же мистический смысл вот этого оператора if(k==2) alert(st); мне не удалось установить А если подставить его в ваш, между тегами <script> и </script>? Хотя он разлагает число на простые множители. как бы все равно не то ;) Добавлено @ 11:03 EmilRegis, без пары циклов все равно не обойтись. Сначала нужно пробежаться по всем числам меньше N, потом проверить. что это число - простое... Можно, наверное , скрыть один цикл в другом как-нибудь заумно или попытаться отрезать лишний перебор во втором цикле, но это не принципиально сократит сложность задачи... Это сообщение отредактировал(а) ksnk - 20.4.2010, 11:03 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
ksnk, в твоём примере всё равно меньше операций выполняется, если его доработать
а в моём пробегает по всем итерациям обоих циклов |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: нет Всего: 211 |
|
|||
|
||||
| Sinobithug |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 10.6.2009 Репутация: нет Всего: нет |
azesmcar,
О у вас работает, спасибо. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |