0 / 0 / 0
Регистрация: 31.08.2013
Сообщений: 26
|
|
1 | |
Алгоритм, который устанавливает – является ли число простым01.04.2015, 14:27. Показов 26904. Ответов 24
Метки нет (Все метки)
5. Алгоритм, который устанавливает – является ли число N
простым. Число называется простым, если оно делится нацело без остатка только на себя и на 1.
0
|
01.04.2015, 14:27 | |
Ответы с готовыми решениями:
24
Является ли число простым Выяснить является ли число простым Определить, является ли число простым Определить, является ли заданное число простым |
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,662
|
||||||
01.04.2015, 18:36 | 2 | |||||
Сообщение было отмечено Памирыч как решение
Решение
1
|
15 / 15 / 12
Регистрация: 01.02.2014
Сообщений: 62
|
||||||
01.04.2015, 18:36 | 3 | |||||
Сообщение было отмечено Памирыч как решение
Решение
1
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,662
|
|
01.04.2015, 19:27 | 4 |
kukuryza, есть ляп:
введите число n 1 число не является простым
1
|
15 / 15 / 12
Регистрация: 01.02.2014
Сообщений: 62
|
|
01.04.2015, 19:57 | 5 |
поставить условие что если введено 1 то простое
0
|
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
|
|
02.04.2015, 00:11 | 6 |
Joy, по определению, число 1 простым не является.
Просто́е число́ — это натуральное число, большее единицы, имеющее ровно два натуральных делителя: 1 и само себя.
1
|
Модератор
|
||||||
02.04.2015, 08:29 | 7 | |||||
Joy,
Добавлено через 1 минуту Плюс, можно отдельно проверить на 2, а потом только на нечетные, вдвое сократит количество делений. Добавлено через 2 минуты А можно втихаря составлять табличку простых и проверять делимость только на них, будет еще быстрее. Но алгоритм выйдет несколько запутаннее.
3
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,662
|
||||||
02.04.2015, 08:56 | 8 | |||||
1
|
Модератор
|
||||||
02.04.2015, 10:18 | 9 | |||||
Вариация на тему:
1
|
1682 / 1096 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
|
||||||
02.04.2015, 15:18 | 10 | |||||
0
|
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
|
||||||
02.04.2015, 18:01 | 11 | |||||
bormant, Joy, "немножко" соптимизировать можно:
1
|
Модератор
|
||||||
02.04.2015, 18:42 | 12 | |||||
Новичок,
не надо так писать:
Во 2-х, незачем Round() (возможен лишний шаг), когда достаточно Trunc().
1
|
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,662
|
|
03.04.2015, 03:04 | 13 |
Cyborg Drone, хорошая формула, спасибо, не знал
0
|
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
|
||||||
08.04.2015, 21:57 | 14 | |||||
Формула, однако, особенного выигрыша не даёт. На её основе у меня вот что нарисовалось:
Добавлено через 14 минут Хотя... При обработке массива чисел будут исключаться n < 25 и четыре числа из шести... Не так уж и плохо. Ну что, люди, раскритикуйте меня, что ли, а то у меня, подозреваю, ложное, самомнение что-то зашевелилось...
0
|
Модератор
|
||||||
08.04.2015, 23:25 | 15 | |||||
Может быть проверить делимость тестируемого числа на 2,3,5, а потом делать приращение не inc(i,2) а
1
|
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
|
|
09.04.2015, 03:01 | 16 |
А на 5... Зачем?
Читал когда-то давно. Ну, вероятностные алгоитмы для сравнительно малых чисел неэффективны, а для больших всё равно требуют дополнительной проверки на простоту числа, на то они и вероятностные. А решёта различные служат не для проверки простоты числа, а для нахождения всех простых чисел, меньших наперёд заданного числа. И не такие уж они простые, все эти Эратосфены и Аткины, всем им требуется немножко памяти. Ну да ладно. Вернёмся к нашим баранам.
У меня там тоже 2-4, только не столь эффективное, как У Вас. Я всё думал, как произвести инкремент числа то на 2, то на 4, исходя из самого i, ничего толкового не придумал, кроме того, что числа, которые требуется исключить, делятся на 3 нацело: 5, 7, 9, 11, 13, 15, 17, 19, 21, 23... и до Вашего варианта не дошёл, хотя, про xor мысль мелькала. Однако, вопрос об эффективности алгоритма с перебором делителей: фактически, 2-4 исключает из рассмотрения каждое третье нечётное число. Ну и, что имеем с гуся на каждые три числа? 3 * mod + 3 * inc = 3 * idiv + 3 * add = 3 * 4 + 3 * 1 = 15 - если делить на каждое нечётное; 2 * mod + 2 * inc + 2 * xor = 2 * idiv + 2 * add + 2* xor = 2 * 4 + 2 * 1 + 2 * 1 = 12 - Ваш вариант. Ну что, несколько поэффективней будет... Для ABC не подходит, но у меня он всё равно не стоит и я его ненавижу. Спасибо.
1
|
Модератор
|
|
09.04.2015, 21:07 | 17 |
Да, приращение небольшое - всего 33%...
Но программа с таким алгоритмом уже интереснее и оригинальнее перебора всех чисел. Формулу для описания простых чисел я знал ещё со школы, но как ею воспользоваться увидел только вчера Спасибо!
0
|
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
|
||||||
09.04.2015, 22:28 | 18 | |||||
Ну и, окончательный вариант, мало ли, вдруг кому два фрагмента в один ну никак не сообразится:
0
|
Модератор
|
||||||
10.04.2015, 00:10 | 19 | |||||
Сообщение было отмечено Cyborg Drone как решение
Решение
Cyborg Drone,
На мой вкус, чуть поправил бы. Если положить до проверки IsPrime:=False, то по нахождению делителя можно сразу выйти по Exit, а если дожили до завершения цикла -- присвоить IsPrime True:
3
|
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
|
|
10.04.2015, 01:41 | 20 |
Да, и на мой вкус так лучше.
0
|
10.04.2015, 01:41 | |
10.04.2015, 01:41 | |
Помогаю со студенческими работами здесь
20
является ли заданное натуральное число n простым Является целое число, введенное пользователем простым. Является целое число, введенное пользователем простым. Является ли введенное пользователем натуральное число простым Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование
Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
|
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы
В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
|
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире
В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
|
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации
В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
|
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии
В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
|
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации
В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
|
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику
Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
|
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику
В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
|
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера
Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
|
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды
В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
|
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике
В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
|
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование
В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
|