|
60 / 17 / 11
Регистрация: 01.11.2014
Сообщений: 100
|
||||||
Неясность в простейшем цикле02.12.2014, 18:52. Показов 1103. Ответов 6
Метки нет (Все метки)
Всем доброго! То ли лыжи не едут, то ли коэффициент трения зашкаливает: подсмотрел я у Шилдта код, ищущий максимальный и минимальный делитель введенного числа, переделал его только под поиск только максимального значения. Казалось, ничего сложного, все работает, но не могу понять зачем тут условие if (div==1). Если без него - возвращается минимальное значение. Очевидно, конечно, что влияние этого условия серьезное, но как это работает - хоть убей, не пойму. Буду весьма благодарен за пояснение!
0
|
||||||
| 02.12.2014, 18:52 | |
|
Ответы с готовыми решениями:
6
Неясность с бэками неясность с синтаксисом |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 02.12.2014, 18:58 | ||
Сообщение было отмечено msg_kurt как решение
РешениеРовно в двух: ему еще не присвоено значение или i == 1 (то есть число х простое). Если хотя бы один раз условие пройдет, то div станет равно i, то есть уже не единице, следовательно условие больше выполняться не будет до конца цикла. В результате, кстати, получается много бестолковых операций по поиску того, что уже нашли.
0
|
||
|
60 / 17 / 11
Регистрация: 01.11.2014
Сообщений: 100
|
||
| 02.12.2014, 19:47 [ТС] | ||
|
kolorotur, просто и доступно, спасибо.
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 02.12.2014, 20:10 | ||
|
Если наибольший делитель числа 800 равен 400 и находится на первой же итерации, то зачем выполнять цикл до единицы?
1
|
||
|
60 / 17 / 11
Регистрация: 01.11.2014
Сообщений: 100
|
||||||
| 02.12.2014, 20:24 [ТС] | ||||||
|
kolorotur, я так понимаю, цикл надо прервать:
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 02.12.2014, 21:58 | |||
|
Остальное — вопрос производительности и эстетики. Тогда и переменная div, кстати, не понадобится. Если рассматривать сам алгоритм, то конечно он не оптимален, т.к. идет перебор всех чисел. Можно перебор заменить на такой подход: 1. Если известен наименьший делитель, то наибольший делитель (если не считать само число) получается путем деления числа на наименьший делитель. 2. Наименьший делитель (если не считать единицу) всегда будет простым числом. 3. Если имеется отсортированный по возрастанию список простых чисел, то достаточно идти по нему, пока не найдется первое значение, которое является делителем числа — это и будет наименьший делитель.
1
|
|||
|
60 / 17 / 11
Регистрация: 01.11.2014
Сообщений: 100
|
|
| 02.12.2014, 22:57 [ТС] | |
|
kolorotur, спасибо огромное еще раз, камрад! Понесла меня теперь нелегкая в решетки Аткина, Эратосфена и Сундарама=)
0
|
|
| 02.12.2014, 22:57 | |
|
Помогаю со студенческими работами здесь
7
Неясность с strtok Неясность в процедуре Неясность в размерности Глюк в простейшем скрипте Ошибка в простейшем коде Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|