3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
|
|
1 | |
Как выразить условие в операторе if для нахождения простого числа04.07.2012, 21:15. Показов 33402. Ответов 51
Метки нет Все метки)
(
Приветствую вас!Уважаемые, подскажите пожалуйста как выразить условие в операторе if для нахождения простого числа, с помощью логических и операторов отношений.Если это возможно.Без массивов.Мне нужна просто маленькая подсказка, а остальное я хочу сам допетрить.В голове все знаю и понимаю как эти числа находятся, но не могу выразить в алгоритме кода .Язык С++.Заранее благодарен!
0
|
|
04.07.2012, 21:15 | |
Ответы с готовыми решениями:
51
Программа для нахождения наименьшего простого трехзначного числа
Как правильно написать условие для простого калькулятора Алгоритм нахождения простого числа |
51 / 51 / 20
Регистрация: 28.05.2012
Сообщений: 161
|
||||||
04.07.2012, 21:24 | 2 | |||||
1
|
04.07.2012, 21:54 | 3 | |||||
2
|
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
|
|
04.07.2012, 22:43 [ТС] | 4 |
Уважаемый soon! Спасибо за отзыв,но для меня не постижимы пока такие алгоритмы.Я не сдаю экзамены по программированию,я просто для себя.Хотелось бы по проще,чтобы самому разобраться с циклом for и оператором if-else.А этот алгоритм для меня как набор неизвестных мне символов.
0
|
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
|
|
05.07.2012, 08:10 | 6 |
soon, вы считаете копипаст который вы отпостили юзабельным?
0
|
Модератор
![]() ![]() |
||||||
05.07.2012, 09:23 | 7 | |||||
soon шутит... Вот простое решение, которое ищет все простые числа в диапазоне от 1 до n. Называется "решето Эратосфена":
1
|
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
|
|
05.07.2012, 18:47 [ТС] | 9 |
Я высоко оценил чувство юмора soon!Я тоже любитель пошутить!Но глядя на фрагмент кода, который предоставил Alt_Shift(спасибо ему за это) и который рекомендовал мне в качестве простого решения soon, хотелось бы выразить свое мнение по поводу корректности написания этого кода. Он просто не работает. Я в своем вопросе не так выразился.Задача была найти простые числа в диапазоне от 1 до 100.Это условие должно быть заключено в цикл for c операторами if.Сейчас я вижу как это работает.Это возможно выразить без массивов и указателей.До скорого!
Добавлено через 1 час 0 минут Я рискну немного поправить ваш код уважаемый Catstail.Так как единица не является простым числом, то в первом цикле for начальное значение счетчика i можно установить 2.
0
|
Higher
|
|
05.07.2012, 19:12 | 10 |
Просто - не всегда эффективно.
В #2 очень неэффективный вариант, он работает за квадратичную сложность, в то время как у нормальных алгоритмов сложность меньше линейной. У soon представлен вариант с проверкой числа на простоту во время компиляции, ничего быстрее этого способа быть не может(для данного интервала будет относительно недолгая компиляция). Кстати, я так и не понял, вам нужно найти простые числа, или проверить на простоту?
0
|
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
|
|
05.07.2012, 19:40 [ТС] | 11 |
Ну конечно же простое число.Может меня не правильно понимают.Я уже третий пост пишу со словами "простые числа".Это числа которые делятся на 1 и на само себя.
Добавлено через 2 минуты Что вы имели ввиду под словами"В #2 очень неэффективный вариант", здесь три варианта. Добавлено через 10 минут Уважаемый diagon и многоуважаемые корифеи в программировании.Спуститесь на землю.Я попросил всего лишь описание работы цикла for и операторов if при нахождении простых чисел в диапазоне от 1 до ста.Без массивов, без операции разрешения, без указателей и т.д.Мне не важно как быстро будет проходить компиляция и как быстро будет выполнятся программа.С уважением!
0
|
05.07.2012, 19:47 | 12 |
Вам нужно найти все простые числа в заданном промежутке или просто проверить, является ли данное число простым?
Первый представленный код. Разве? Там ведь один проход.
0
|
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
|
|
05.07.2012, 20:12 [ТС] | 13 |
Позволю себе закинуть вам леща! Мне понравились слова "Нуу, это скучно. К тому же вам Catstail представил решето Эратосфена"и "Смысл в этих числах, если их нельзя будет потом использовать?".Это говорит обо всем)))
Добавлено через 3 минуты Ребята, а может чтобы вам не было скучно я вам задачки веселые буду закидывать. У меня их много!!!
0
|
Модератор
![]() ![]() |
|
05.07.2012, 20:47 | 14 |
- почему же? Чтобы проверить число на простоту нужно выполнить определенный объем вычислительной работы. Какая разница, когда она выполняется? А если нужно проверять простоту неизвестного заранее количества чисел, это можно выполнить at compile time? Не думаю...
Просто - не всегда эффективно. Согласен. Но вопрос ведь не предполагал реализацию самого эффективного алгоритма... А решето Эратосфена - это классика.
0
|
05.07.2012, 21:18 | 15 |
0
|
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
|
||||||
05.07.2012, 21:36 [ТС] | 17 | |||||
Господа, вот что мне нужно было.
1
|
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
|
|
06.07.2012, 08:08 | 18 |
0
|
Higher
|
|
06.07.2012, 12:21 | 19 |
Я имел в виду поиск чисел с такой проверкой.
Ну, например, для реализации хеширования. Суть в том, что для хеширования нужно выбрать простое основание. Чтобы не случалось неприятных ситуаций, можно вставить static_assert, проверяющий, является ли основание простым.
0
|
Модератор
![]() ![]() |
|
06.07.2012, 13:01 | 20 |
т.е. программа будет всегда хэшировать по одному основанию? Не убеждает...
0
|
06.07.2012, 13:01 | |
06.07.2012, 13:01 | |
Помогаю со студенческими работами здесь
20
Алгоритм нахождения простого числа Как проверить условие равенства в операторе условия Как правильно подправить условие в условном операторе? Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |