Программа простое число или нет

Простое число – это положительное целое число больше 1, которое можно без остатка поделить только на 1 и на само себя.

Как определить является ли число простым

Чтобы определить является ли число простым, необходимо его поделить на 2, затем на 3, 4, . n, до тех пор, пока n не станет равным самому числу. Если это число разделится без остатка только на само себя, то оно является простым.

Пример №1

Определим является ли число 5 простым:

Делаем вывод, что число 5 является простым.

Пример №2

Определим является ли число 6 простым:

Так как 6 поделилось на 2 без остатка, можно сделать вывод, что число 6 не является простым.

Источник: poschitat.online

Блог

You are currently viewing Программа на Python для проверки того, является ли число простым или нет

Как узнать простое число или нет?

Программа на Python для проверки того, является ли число простым или нет

  • Post author: admin
  • Запись опубликована: 16 декабря, 2021
  • Post category: Python язык программирования

Учитывая положительное целое число N, задача состоит в том, чтобы написать программу на Python, чтобы проверить, является ли это число основной или нет.
Определение: Простое число-это натуральное число, большее 1, у которого нет положительных делителей, кроме 1 и самого себя. Первые несколько простых чисел .

Примеры :

Input: n = 11 Output: true Input: n = 15 Output: false Input: n = 1 Output: false

Идея решения этой проблемы состоит в том, чтобы повторить все числа, начиная с 2 до (N/2), используя цикл for, и для каждого числа проверить, разделяет ли оно N. Если мы найдем любое число, которое делится, мы вернем false. Если мы не нашли никакого числа между 2 и N/2, которое делит N, то это означает, что N-простое число, и мы вернем True.

Читайте также:
Куда делся гарик сукачев из программы знак качества

Ниже приведена программа Python, чтобы проверить, является ли число простым:

# Python program to check if # given number is prime or not num = 11 # If given number is greater than 1 if num > 1: # Iterate from 2 to n / 2 for i in range(2, int(num/2)+1): # If num is divisible by any number between # 2 and n / 2, it is not prime if (num % i) == 0: print(num, «is not a prime number») break else: print(num, «is a prime number») else: print(num, «is not a prime number»)

Выход:

11 is a prime number

Оптимизированный Способ
Мы можем выполнить следующие оптимизации:

Вместо того, чтобы проверять до n, мы можем проверять до √n, потому что больший фактор n должен быть кратен меньшему фактору, который уже был проверен.

Теперь давайте посмотрим код первого метода оптимизации ( т. е. Проверим до √n )

from math import sqrt # n is the number to be check whether it is prime or not n = 1 # no lets check from 2 to sqrt(n) # if we found any facto then we can print as not a prime number # this flag maintains status whether the n is prime or not prime_flag = 0 if(n > 1): for i in range(2, int(sqrt(n)) + 1): if (n % i == 0): prime_flag = 1 break if (prime_flag == 0): print(«true») else: print(«false») else: print(«false»)

Выход:

Алгоритм можно дополнительно улучшить, заметив, что все простые числа имеют вид 6k ± 1, за исключением 2 и 3. Это связано с тем, что все целые числа могут быть выражены как (6k + i) для некоторого целого числа k и для i = -1, 0, 1, 2, 3, или 4; 2 деления (6k + 0), (6k + 2), (6k + 4); и 3 деления (6k + 3). Таким образом, более эффективный метод состоит в том, чтобы проверить, делится ли n на 2 или 3, а затем проверить все числа формы 6k ± 1.

Читайте также:
Как написать программу для телефона

Проверка простоты числа перебором делителей. Решение задачи на Python

Вам также может понравиться

Read more about the article Запоминание с использованием декораторов в Python

Запоминание с использованием декораторов в Python

Read more about the article Основы Selenium – Компоненты, функции, использование и ограничения.

19 декабря, 2021

Основы Selenium – Компоненты, функции, использование и ограничения.

Read more about the article Как установить Selenium в Python?

5 декабря, 2021

Как установить Selenium в Python?

5 декабря, 2021

  • О нас
  • Онлайн игры
  • Конвертеры
  • Base64 конвертер онлайн
  • Оформление кода JavaScript CSS HTML Онлайн
  • URL Encoder (кодировщик) / Decoder (декодировщик) онлайн
  • Конвертер регистров
  • Рассчитать количество дней между датами
  • Генератор ключей и паролей
  • Генератор QR кодов
  • Преобразование времени
  • Преобразование микросекунд в секунды
  • Преобразование микросекунд в миллисекунды
  • Преобразование миллисекунд в микросекунды
  • Преобразование миллисекунд в секунды
  • Преобразование миллисекунд в минуты
  • Преобразование миллисекунд в часы
  • Преобразователь миллисекунд в дату
  • Преобразование секунд в миллисекунды
  • Преобразование секунд в минуты
  • Преобразование секунд в часы
  • Преобразование секунд в дни
  • Преобразование минут во время
  • Преобразование минут в миллисекунды
  • Преобразование минут в секунды
  • Преобразование минут в часы
  • Преобразование часов в миллисекунды
  • Преобразование часов в секунды
  • Преобразование часов в минуты
  • Преобразование часов в дни
  • Преобразование дней в часы
  • Преобразование из часы в недели
  • Конвертация из недели в часы
  • Через несколько часов калькулятор
  • Преобразование времени AM/PM в 24-часовое
  • Преобразование Военного Времени
  • Время до десятичного калькулятора
  • Безопасность
  • Финансы
  • Энциклопедия

Источник: programbox.ru

Программа простое число или нет

: 8

Простое число или нет. С#

Здравствуйте. Суть такова.
Задание: «Написать программу проверки является ли число простым, установить ширину поля 10 символов.»
Есть такие наработки, что-то не догоняю как оптимизировать код, что бы программа не выводила сообщение «Число не является простым» или «Число является простым» в цикле. Например, при проверке числа 7, консоль 5 раз выводит сообщение «Число является простым», а при проверке, например, числа 121, которые не является простым у программы просто едет крыша (выводится примерно 40 сообщение «простое» и в один раз «не простое»)

Читайте также:
Как узнать рег номер программы

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 < class Program < static void Main(string[] args) < Console.WriteLine(«Ввод числа:»); < int x = int.Parse(Console.ReadLine()); Prost(x); Console.ReadKey(); >> private static void Prost(int x) < for (int i = 2; i > > >

Форумчанин

: 975

Можно поправить вот таким способом:

private static void Prost(int x) < bool isSimple = true; for (int i = 2; i < x; i++) < if (x % i == 0) < isSimple = false; break; >> if (isSimple) Console.WriteLine(«Число не является простым»); else Console.WriteLine(«Число является простым»); >

p.s. необязательно до самого x цикл прогонять, достаточно половины от x

Благодарить в репутацию. Проклинать — туда же

: 8

Можно поправить вот таким способом:

private static void Prost(int x) < bool isSimple = true; for (int i = 2; i < x; i++) < if (x % i == 0) < isSimple = false; break; >> if (isSimple) Console.WriteLine(«Число не является простым»); else Console.WriteLine(«Число является простым»); >

p.s. необязательно до самого x цикл прогонять, достаточно половины от x

Огромное спасибо за помощь! Оказывается так просто и гениально!

Источник: www.programmersforum.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru