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


Как определить простое число? | Ответ здесь

Простое число – это число, которое можно разделить только на 1 или на него самого. Есть не мало способов определить простое число. Разработано много специализированных тестов простоты, например, тест Люка-Лемера, созданный в 1878 году французским математиком Люка и доработанный

Способ 1

Инструкции

1. Лемером, американским математиком. Очень распространенный способ — так называемое решето Эратосфена. Для того, чтобы определить простое число этим методом нужно выписать по порядку все целые числа, начиная с одного и заканчивая определенным значением Х.

2. Сначала вычеркиваем из списка все числа, которые можно разделить на 2, затем берем следующее после 2 число и зачеркиваем все числа, которые можно на него разделить.

3. Продолжать нужно до тех пор, пока выбранное число не окажется больше, чем Х/2. Те числа, которые остались не вычеркнутыми – простые.Есть и другие методы.

Способ 2

Инструкции

1. Так как простое число не делится ни на какое другое, кроме себя самого и единицы, то самый простой способ его вычислить – попытаться разделить на все числа меньше его по значению. В теории, конечно, это выглядит просто, а вот на практике…

2. Но все же есть способы облегчить задачуВо-первых, поможет определить простое число последняя цифра. Если это пять, ноль или четное число, то оно, соответственно, не может быть простым .

3. Исключение составляет число 2, так как оно делится на 1 и самого себя. Все остальные можно разделить на 5 или 2.

Способ 3

Инструкции

1. Еще один вариант упростить задачу – разбить число на отдельные цифры, сложить их и сумму разделить на 3. Если итог получился без остатка, то число не простое.

2. Далее выясняем может ли нужное вам число разделить на 11. Для этого опять разбиваем его на отдельные цифры. Сначала плюсуем четные, затем отдельно нечетные.

3. Далее от суммы первых отнимаем сумму вторых. Делим на 11. Если итог делится без остатка на 11, то число не может быть простым.

4. Теперь отметем еще два варианта чисел: те, которые можно разделить на 13 и 7. Для этого нужно разбить число на группы по три цифры, начиная с конца. Затем суммируем. Сначала те группы цифр, которые находятся на нечетных местах, потом те, что на четных. Далее от итога первых отнимаем итог вторых и результат делим на семь и тринадцать.

questione.ru

Как проверить, является ли число простым Как? Так!

Содержимое:

4 метода:

Простые числа – это числа, которые делятся только на себя и на 1; все остальные числа называются составными числами. Существует множество способов определения того, является ли число простым. Некоторые способы являются относительно простыми, но они не подходят для больших чисел. Другие способы, применимые для больших чисел, фактически представляют собой вероятностные алгоритмы, которые иногда ошибочно характеризуют число как простое или составное.

Шаги

Метод 1 Перебор делителей

Перебор делителей – самый легкий способ определить простоту числа. В случае малых чисел это, пожалуй, также и самый быстрый способ. Он основан на определении простого числа: число является простым, если оно не имеет делителей кроме самого себя и единицы.

  1. 1 Пусть n – проверяемое число. Согласно этому методу вы должны разделить число n на все возможные целые делители. При больших значениях n, например, n = 101, проверка каждого делителя займет много времени. Но существуют способы уменьшить количество делителей, которые нужно проверить.
  2. 2 Определите, является ли число n четным. Любое четное число делится на 2. Если число n - четное, то можно сразу заявить, что оно не является простым (то есть является составным числом). Для быстрого определения четности числа обратите внимание на его последнюю цифру. Если последняя цифра 2, 4, 6, 8,0, то число является четным и не является простым.
    • Единственное исключение из этого правила - число 2. Так как оно делится нацело только на себя и на 1, то число 2 – простое число. Таким образом, число 2 является единственным четным простым числом.
  3. 3 Разделите n на каждое число от 2 до n-1. Так как делитель меньше делимого, то проверка всех делителей меньших n и больших 2 должна показать, является ли n простым числом. Вы начинаете с числа большего 2, потому что четные числа (которые кратны 2) не являются простыми числами. Это далеко не самый эффективный способ тестирования чисел на простоту, но здесь существует несколько методов оптимизации проверки.
    • Например, проверим число 11. В этом случае разделим (нацело) 11 на 3, 4, 5, 6, 7, 8, 9, 10. Так как ни одно из этих чисел не делит (нацело) 11, то число 11 – простое число.
  4. 4 Чтобы сэкономить время, проверьте делители до округленного значения квадратного корня (n). Проверка всех делителей от 2 до n-1 может занять много времени. Например, если вы хотите проверить число 103, то вам придется протестировать следующие делители: 3, 4, 5, 6, 7... и так далее вплоть до 102! Но этого можно избежать – проверьте только делители от 2 до округленного значения квадратного корня (n).
    • Объяснение этого принципа. Рассмотрим множители 100. 100 = 1 × 100, 2 × 50, 4 × 25, 5 × 20, 10 × 10, 20 × 5, 25 × 4, 50 × 2, 100 × 1. Обратите внимание, что после пары множителей 10 × 10 все пары множителей повторяются (только множители в этих парах переставлены местами). Поэтому вы можете игнорировать делители числа n большие, чем квадратный корень (n).
    • Например, проверим n = 37. Не нужно тестировать все делители от 3 до 36. Вместо этого проверьте делители между 2 и округленным значением квадратного корня (37).
      • Квадратный корень (37) = 6,08. Округлите это число до 7.
      • 37 не делится на 3, 4, 5, 6, 7, поэтому оно - простое.
  5. 5 Для дальнейшей экономии времени тестируйте только простые делители. По определению любое составное число может быть выражено как произведение двух или более простых чисел. Поэтому деление числа n на составной делитель – лишняя операция, повторяющая многократное деление числа n на простые делители. Таким образом, вы можете еще больше сузить тестируемый ряд делителей.
    • Это означает, что все четные делители и все делители, кратные простым числам, могут быть опущены.
    • Например, проверим число 103. Квадратный корень из 103 округляется до 11. Простые делители от 2 до 11 это 3, 5, 7, 11. Делители 4, 6, 8, 9, 10 можно опустить (9 кратно 3, а все остальные делители – четные числа). Таким образом, вы уменьшили ряд тестируемых делителей до четырех чисел.
      • Делители 3, 5, 7, 11 не делят (нацело) число 103, поэтому оно - простое.

Метод 2 Тест Ферма

В 1640 году французский математик Пьер Ферма впервые сформулировал теорему (малая теорема Ферма), которая используется при определении простоты числа. Фактически, тест Ферма служит для определения составных чисел, а не простых. Этот тест с уверенностью определяет, является ли число составным, или определяет, что число «скорее всего» простое. Тест Ферма полезен в случаях, когда перебор делителей непрактичен и когда доступен список чисел, являющихся исключениями из теоремы.

  1. 1 Пусть n – проверяемое число. Как отмечалось выше, иногда тест ложно идентифицирует составные числа как простые. Поэтому необходимо проверить ответ (способ проверки ответа описан ниже).
  2. 2 Выберите любое целое число «а» от 2 до n-1 (включительно).
    • Например, проверим на простоту число 100. Допустим, а = 3.
  3. 3 Вычислите an (mod n). Вычисление этого выражения потребует некоторых знаний из модульной арифметики. В модульной арифметике при достижении определенного значения, называемого модулем, отсчет чисел начинается с нуля. Представьте это как часы: час после полудня - это 1:00, а не 13:00, то есть время после полудня отсчитывается с нуля. Модуль обозначается как mod n. Таким образом, вычислите an (mod n).
    • Одним из способов вычисления будет вычислить an, а затем разделить результат на n, а в качестве ответа записать остаток деления. В этом случае рекомендуется использовать специализированные калькуляторы с функцией модуля, так как они мгновенно вычисляют остаток при делении больших чисел.
    • В нашем примере, при делении 3100/100 получается остаток 1. Таким образом, 3100 (mod 100) = 1.
  4. 4 Если у вас нет специализированного калькулятора, при вычислении остатка вручную используйте экспоненциальную запись числа.
    • В нашем примере вручную вычислите 3100 (mod 100). 3100 = 515377520732011331036461129765621272702107522001 – огромное число, с которым трудно работать. Вместо того, чтобы работать с 48-значным числом, представьте 3100 как (((((((32)*3)2)2)2)*3)2)2. Напомним, что при возведении степени в степень показатели перемножаются: ((xy)z = xyz).
      • Теперь определите остаток. В (((((((32)*3)2)2)2)*3)2)2 начните решение с внутренних скобок и каждый раз результат делите на 100. При получении остатка используйте его в дальнейших расчетах (а не в качестве ответа).
        • (((((((9)*3)2)2)2)*3)2)2 - 9/100 – остатка нет.
        • ((((((27)2)2)2)*3)2)2 - 27/100 – остатка нет.
        • (((((729)2)2)*3)2)2 - 729/100 = 7(ост.29). Остаток 29. Продолжите вычисления с числом 29.
        • ((((292=841)2)*3)2)2 - 841/100 = 8(ост.41). Остаток 41. Продолжите вычисления с числом 41.
        • (((412 = 1681)*3)2)2 - 1681/100 = 16(ост.81). Остаток 81. Продолжите вычисления с числом 81.
        • ((81*3 = 243)2)2 - 243/100 = 2(ост. 43). Остаток 43. Продолжите вычисления с числом 43.
        • (432 = 1849)2 - 1849/100 = 18(ост.49). Остаток 49. Продолжите вычисления с числом 49.
        • 492 = 2401 - 2401/100 = 24(ост.1). Конечный остаток 1. Таким образом, 3100 (mod 100) = 1 (такой же результат был получен при вычислении на калькуляторе).
  5. 5 Проверьте равенство: an (mod n) = a (mod n). Если оно не соблюдено, то n – составное число. Если оно соблюдено, то n, скорее всего, простое число (но не обязательно). Повторите тест с разными значениями «а», чтобы удостовериться в правильности ответа. Но есть составные числа, удовлетворяющие условию Ферма при любых значениях «а». Они называются числами Кармайкла (самое малое из них - число 561).
    • В нашем примере 3100 (mod 100) = 1, а 100 (mod 100 ) = 0. Таким образом, 1 ≠ 0 и 100 – составное число.
  6. 6 Используйте числа Кармайкла в качестве гарантии правильности ответа. Числа Кармайкла имеют вид (6k + 1)(12k + 1)(18k + 1) для целых значений k, когда каждый делитель является простым. Вы можете найти полный список чисел Кармайкла в интернете.

Метод 3 Тест Миллера-Рабина

Тест Миллера-Рабина эффективно определяет, является ли число составным (и лучше обрабатывает исключения, такие как числа Кармайкла).

  1. 1 Пусть n - нечетное число, которое нужно протестировать на простоту.
  2. 2 Запишите n-1 в виде 2s × d, где d – нечетное число. Если n – простое, то оно должно быть нечетным. Поэтому n-1 – четное. Так как n-1 – четное число, то оно может быть представлено в виде произведения числа 2 в некоторой степени на нечетное число. Например, 4 = 22 × 1, 80 = 24 × 5 и так далее.
    • Например, определите простоту числа n = 321. 321 - 1 = 320, а 320 = 26 × 5. То есть s=6 и d=5.
      • Например, возьмем более сложное число n = 371. 371 - 1 = 370, а 370 = 21 × 185. То есть d=185, что значительно усложнит вычисления.
  3. 3 Возьмите любое число «а» между 2 и n-1.
    • В нашем примере для n = 321 выберите а = 100.
  4. 4 Вычислите ad (mod n). Если ad = 1 или -1 (mod n), то число n проходит тест Миллера-Рабина и, скорее всего, является простым. Однако этот тест, как и тест Ферма, не может определить простоту числа с абсолютной уверенностью.
    • В нашем примере для n = 321: ad (mod n) = 1005 (mod 321). 1005 = 10,000,000,000 (mod 321) = 313. Для нахождения остатка 1005/321 используйте специализированный калькулятор или расчет вручную (описанный выше).
      • Так как результат не равен 1 или -1, вы не можете утверждать, что n – простое число.
  5. 5 Если результат не равен 1 или -1, вычислите a2d, a4d, ... и так далее до a2s-1d. Если один из результатов равен 1 или -1 (mod n), то число n проходит тест Миллера- Рабина и, скорее всего, является простым. Если n проходит тест, проверьте ответ (смотрите следующий шаг). Если n не проходит любой из этих тестов, то n – составное число.
    • Напомним, что в нашем примере а=100, s=6, d=5. Продолжите проверку следующим образом:
      • 1002d = 10 = 1 × 1020.
        • 1 × 1020 (mod 321) = 64. 64 ≠ 1 или -1. Продолжите вычисления.
      • 1004d = 20 = 1 × 1040.
        • 1 × 1040 (mod 321) = 244. 244 ≠ 1 или -1.
      • Здесь вы можете закончить вычисления. s - 1 = 6 - 1 = 5. Вы достигли предельного значения 4d = 22. Так как ни один из расчетов не дал 1 или -1, вы можете с уверенностью заявить, что n = 321 – составное число.
  6. 6 Если n проходит тест Миллера- Рабина, повторите тест с разными значениями «а», чтобы удостовериться в правильности ответа. Если n – простое число, оно пройдет тест с любым значением «а». Если n – составное число, не менее трех четвертей значений «а» не пройдут тест. Поэтому тест Миллера- Рабина является более надежным, чем тест Ферма, в котором составные числа Кармайкла проходят тест при любом значении «а».

Метод 4 Китайская теорема об остатках

  1. 1 Выберите два числа – одно составное, а второе для проверки того, что оно простое.
    • Число1 = 35
    • Число2 = 97
  2. 2 Выберите два неравных числа (значения), которые больше нуля и меньше Числа1 и Числа2.
    • Значение1 = 1
    • Значение2 = 2
  3. 3 Вычислите MMI (математическую мультипликативную инверсию) для Числа1 и Числа2.
    • Вычислите MMI.
      • MMI1 = Число2 ^ -1 Mod Число1
      • MMI2 = Число1 ^ -1 Mod Число2
    • Только для простых чисел (это даст число для составных чисел, но оно не будет его MMI):
      • MMI1 = (Число2 ^ (Число1-2))% Число1
      • MMI2 = (Число1 ^ (Число2-2))% Число2
    • Например:
      • MMI1 = (97 ^ 33)% 35
      • MMI2 = (35 ^ 95)% 97
  4. 4 Создайте таблицу для каждой MMI вплоть до log2 модулей.
    • Для MMI1
      • F(1) = Число2% Число1 = 97 % 35 = 27
      • F(2) = F(1) + F(1)% Число1 = 27 * 27 % 35 = 29
      • F(4) = F(2) + F(2)% Число1 = 29 * 29 % 35 = 1
      • F(8) = F(4) * F(4) Число1% = 1 * 1 % 35 = 1
      • F(16) = F(8) * F(8)% Число1 = 1 * 1 % 35 = 1
      • F(32) = F(16) * F(16)% Число1 = 1 * 1 % 35 = 1
    • Вычислите парные Число1 - 2
      • 35 -2 = 33 (10001) по основанию 2
      • MMI1 = F(33) = F(32) * F(1) Mod 35
      • MMI1 = F(33) = 1 * 27 Mod 35
      • MMI1 = 27
    • Для MMI2
      • F(1) = Число1% Число2 = 35% 97 = 35
      • F(2) = F(1) * F(1)% Число2 = 35 * 35 Mod 97 = 61
      • F(4) = F(2) * F(2)% Число2 = 61 * 61 Mod 97 = 35
      • F(8) = F(4) * F(4)% Число2 = 35 * 35 Mod 97 = 61
      • F(16) = F(8) * F(8)% Число2 = 61 * 61 Mod 97 = 35
      • F(32) = F(16) * F(16)% Число2 = 35 * 35 Mod 97 = 61
      • F (64) = F(32) * F(32)% Число2 = 61 * 61 Mod 97 = 35
      • F(128) = F(64) * F(64)% Число2 = 35 * 35 Mod 97 = 61
    • Вычислите парные Число2 - 2
      • 97 - 2 = 95 = (1011111) по основанию 2
      • MMI2 = (((((F(64) * F(16) % 97) * F(8) % 97) * F(4) % 97) * F(2) % 97) * F(1) % 97)
      • MMI2 = (((((35 * 35) %97) * 61) % 97) * 35 % 97) * 61 % 97) * 35 % 97)
      • MMI2 = 61
  5. 5 Вычислите (Значение1 * Число2 * MMI1 + Значение2 * Число1 * MMI2) % (Число1 * Число2).
    • Ответ = (1 * 97 * 27 + 2 * 35 * 61) % (97 * 35)
    • Ответ = (2619 + 4270) % 3395
    • Ответ = 99
  6. 6 Проверьте, что Число1 не является простым.
    • Вычислите (Ответ - Значение1) % Число1
    • 99 -1 % 35 = 28
    • Так как 28 больше 0, то 35 не является простым числом.
  7. 7 Проверьте, что Число2 является простым.
    • Вычислите (Ответ - Значение2)% Число2
    • 99 – 2 % 97 = 0
    • Так как 0 равен 0, то 97 – скорее всего простое число.
  8. 8 Повторите шаги с 1 по 7, по крайней мере, еще два раза.
    • Если в шаге 7 вы получили 0:
      • Используйте другое Число1, если Число1 не является простым.
      • Используйте другое Число1, если Число1 является простым. В этом случае в шагах 6 и 7 вы должны получить 0.
      • Используйте различные Значение1 и Значение2.
    • Если в шаге 7 вы постоянно получаете 0, то с очень большой вероятностью Число2 является простым.
    • Шаги с 1 по 7 могут привести к ошибке, если Число1 не является простым, а Число2 является делителем Числа1. Описанный метод работает во всех случаях, когда оба числа являются простыми.
    • Причина, по которой необходимо повторять шаги с 1 по 7: в некоторых случаях, даже если Число1 и Число 2 не являются простыми, в шаге 7 вы получите 0 (для одного или обоих чисел). Это редкий случай; выберите другое Число1 (составное), если Число2 не является простым; тогда Число2 не будет равно нулю в шаге 7 (за исключением случая, когда Число1 является делителем Числа2 - здесь простые числа всегда будут равны нулю в шаге 7).

Советы

Что вам понадобится

Прислал: Большакова Ольга . 2017-11-09 22:59:10

kak-otvet.imysite.ru

Проверка числа на принадлежность его к простым числам

Простые числа — это натуральные числа, которые делятся только на единицу и на себя. В математике простые числа занимают особое значение.

Простые числа

Математика — всеобъемлющая наука, пронизывающая все человеческую жизнь. Как и у любой науки, у математики есть фундамент. Все строится на числах, и натуральные числа — это начало математики. 1, 2, 3, 4, 5, 6… используются для счета, но числа могут быть еще проще. Допустим, 6 = 2 × 3, а вот 5 делится только на себя и на единицу. Неделимые — это 2, 3, 5, 7, 11, 13... Современное научное сообщество не включает 1 в разряд простых чисел, хотя она, безусловно, делятся только на себя и на единицу. Отсутствие единицы в ряду неделимых позволяет элегантно формулировать многие математические постулаты, поэтому ряд простых чисел всегда начинается с двойки.

Именно такие простые числа, которые нельзя разложить на множители, и являются атомами математики. Как и атомы химических элементов создают все вещества во Вселенной, так и неделимые формируют составные числа. Любое составное целое число мы можем разложить на произведение простых делителей, причем делители могут определяться разными методами, но результат всегда будет один и тот же.

Поиск простых чисел

Распределение простых чисел — это открытая проблема математики. Мы до сих пор не располагаем формулой для определения неделимых и не знаем доказанных закономерностей их распределения в ряду натуральных чисел. Магия цифр очаровывала ученых с античных времен, и первый метод поиска неделимых разработал Эратосфен Киренский. Древнегреческий ученый выстроил все натуральные числа в ряд, подчеркнул двойку и начал методично вычеркивать числа, которые делятся на 2. Затем он подчеркнул тройку и вычеркнул все числа, кратные 3 и так далее. Таким трудоемким способом он вычеркнул все составные числа из ряда, а оставшиеся неделимые составили так называемое решето Эратосфена.

При помощи решета мы можем определить простоту небольших чисел, однако как мы определим неделимость, к примеру, числа 58 467 или 58 477? Исключая 2 и 5, большинство простых чисел должны заканчиваться на 1, 3, 7, но это недостаточное условие. Числа выше тому подтверждение, 58 467 — составное число, раскладываемое на 3 и 19 489. А вот 58 477 — неделимое. Для решения подобных задач используется факторизация числа, однако для слишком больших чисел такой способ требует огромных вычислительных мощностей.

Самое большое простое число

Согласно гипотезе Евклида, простые числа устремляются в бесконечность. Современные математики бьются над поиском самого большого неделимого, однако с каждым годом открываются все большие и большие числа. На сегодняшний день самым большим простым числом является число Мерсенна М74207281, которое представляет собой 2n – 1, где n = 74207281. Это чудесное число содержит 22 338 618 цифр, а его запись занимает объем, равный семи романам «Война и мир». Ученые работают именно с числами Мерсенна, то есть числами вида 2n – 1, так как они эффективно проходят тест Люка — Лемера — тест простоты, разработанный для проверки чисел на принадлежность к неделимым.

Использование простых чисел

Помимо теории чисел, наиболее очевидной сферой применения неделимых является криптография и защита информации. Большие простые числа используются в криптографических алгоритмах шифрования данных и при создании электронных цифровых подписей. В мире информационных технологий простые числа являются фундаментом информационной безопасности.

Проверка на простоту

Наш калькулятор позволяет проверить на делимость любое целое число от 0 до 9 999 999. Введя переменную в окно калькулятора, вы получите ответ в виде принадлежности числа к простому или составному типу, а также два ближайших неделимых.

Пример из реальной жизни

Школьная задача

В учебниках по арифметике вам могут встретиться задачи на определение наименьшего общего кратного или наименьшего общего делителя. Для решения подобных задач используется метод разложения составного числа на простые множители. Если в задачах будут заданы достаточно большие числа, то прежде чем искать множители, рационально будет проверить число на делимость. Для этого и используйте наш калькулятор. К примеру, вам требуется найти НОК для пары 10628 и 15727. Если 10628 достаточно просто разложить на делители 2 × 2 × 2657, то число 15727 — простое, следовательно, задача не имеет решения.

Заключение

Неделимые — удивительные осколки, разбросанные в океане чисел. Мы только исследуем их природу и ищем способы проверки на неделимость поистине огромных чисел. Ну а для проверки небольших неделимых используйте наш калькулятор — быстрый и удобный инструмент для определения простоты чисел.

bbf.ru

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

Форум: "Потрепаться";Поиск по всему сайту: www.delphimaster.net;Текущий архив: 2006.01.22;Скачать: [xml.tar.bz2];

Вниз

Как узнать число простое или нет? 
Витёк   (2005-12-24 12:32) [0]

Простое число - это число, которое делится только на себя (без остатка).

Например, 1,2,3,5,7,11,13,17,19,23,29,31,37,… и так до бесконечности. . . .

SergP.   (2005-12-24 12:49) [1]

Когда-то была подобная ветка...

Самый простой способ, это

...result:=true;for i:=2 to trunc(sqrt(N)) do if (N mod i) =0 then  begin result:=false; break; end; ...

Можно в цикле перебирать только нечетные числа, Будет быстрее,  но двойку тоже придется включить.

Если есть массив простых чисел до sqrt(N), то достаточно перебрать в цикле только их а не весь диапазон 2..sqrt(N)

и т.д.

Uncle Archi ©   (2005-12-24 12:50) [2]

Витёк   (24.12.05 12:32) [0]

Проверить, делится ли она на числа, начиная с 2 заканчивая Trunc(sqrt(N)) (т.е. корнем из числа).

Uncle Archi ©   (2005-12-24 12:53) [3]

Когда писал, не видел SergP.   (24.12.05 12:49) [1].

Mystic ©   (2005-12-24 17:38) [4]

Число один не относят к простым.

Aldor_   (2005-12-24 19:06) [5]

Если нужен список простых чисел до некоторого натурального N, лучше воспользоваться решетом Эратосфена (google forever).

wal ©   (2005-12-26 09:47) [6]

> Витёк   (24.12.05 12:32)Простых способов нет, точнее простой, но медленный в [1] и [2]. А быстрых нет. На этом, пока, криптография и держится.> Aldor_   (24.12.05 19:06)Задача несколько обратная.

pasha_golub ©   (2005-12-26 09:51) [7]

http://algolist.manual.ru/maths/teornum/

Форум: "Потрепаться";Поиск по всему сайту: www.delphimaster.net;Текущий архив: 2006.01.22;Скачать: [xml.tar.bz2];

Наверх

Память: 0.73 MBВремя: 0.22 c

www.delphimaster.net

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

Форум: "Потрепаться";Поиск по всему сайту: www.delphimaster.net;Текущий архив: 2006.01.22;Скачать: [xml.tar.bz2];

Вниз

Как узнать число простое или нет? 
Витёк   (2005-12-24 12:32) [0]

Простое число - это число, которое делится только на себя (без остатка).

Например, 1,2,3,5,7,11,13,17,19,23,29,31,37,… и так до бесконечности. . . .

SergP.   (2005-12-24 12:49) [1]

Когда-то была подобная ветка...

Самый простой способ, это

...result:=true;for i:=2 to trunc(sqrt(N)) do if (N mod i) =0 then  begin result:=false; break; end; ...

Можно в цикле перебирать только нечетные числа, Будет быстрее,  но двойку тоже придется включить.

Если есть массив простых чисел до sqrt(N), то достаточно перебрать в цикле только их а не весь диапазон 2..sqrt(N)

и т.д.

Uncle Archi ©   (2005-12-24 12:50) [2]

Витёк   (24.12.05 12:32) [0]

Проверить, делится ли она на числа, начиная с 2 заканчивая Trunc(sqrt(N)) (т.е. корнем из числа).

Uncle Archi ©   (2005-12-24 12:53) [3]

Когда писал, не видел SergP.   (24.12.05 12:49) [1].

Mystic ©   (2005-12-24 17:38) [4]

Число один не относят к простым.

Aldor_   (2005-12-24 19:06) [5]

Если нужен список простых чисел до некоторого натурального N, лучше воспользоваться решетом Эратосфена (google forever).

wal ©   (2005-12-26 09:47) [6]

> Витёк   (24.12.05 12:32)Простых способов нет, точнее простой, но медленный в [1] и [2]. А быстрых нет. На этом, пока, криптография и держится.> Aldor_   (24.12.05 19:06)Задача несколько обратная.

pasha_golub ©   (2005-12-26 09:51) [7]

http://algolist.manual.ru/maths/teornum/

Форум: "Потрепаться";Поиск по всему сайту: www.delphimaster.net;Текущий архив: 2006.01.22;Скачать: [xml.tar.bz2];

Наверх

Память: 0.73 MBВремя: 0.221 c

www.delphimaster.net

Как проверить простое ли число

Теория простых чисел волнует математиков многие века. Известно, что их бесконечное множество, но тем не менее до сих пор не найдено даже формулы, которая давала бы одни простые числа.

Спонсор размещения P&G Статьи по теме "Как проверить простое ли число" Как 90 разложить на два взаимно простых множителя Как перевести число в пятиричную систему Как найти модуль вектора

Инструкция

1

Пусть по условию задачи вам задано число N, которое необходимо проверить на простоту. Для начала убедитесь, что N не имеет самых тривиальных делителей, то есть не делится на 2 и 5. Для этого проверьте, что последняя цифра числа не равна 0, 2, 4, 5, 6 или 8. Таким образом, простое число может заканчиваться лишь на 1, 3, 7 или 9.

2

Просуммируйте цифры числа N. Если сумма цифр делится на 3, то само число N будет делиться на 3 и, следовательно, не является простым. Походим образом проверяется делимость на 11 - надо просуммировать цифры числа с переменой знака, поочередно суммируя или вычитая каждую следующую цифру из результата. Если результат будет делиться на 11 (или равняться нулю), то и исходное число N делится на 11. Пример: для N = 649 знакопеременная сумма цифр М = 6 - 4 +9 = 11, то есть это число делится на 11. И действительно, 649 = 11·59.

3

Введите свое число на сайте http://www.usi.edu/science/math/prime.html и нажмите кнопку “Check my number”. Если число простое, программа напишет что-то вроде “59 is prime”, а иначе представит его в виде произведения множителей.

4

Если обратиться к интернет-ресурсам по какой-то причине возможности нет, придется решать задачу перебором множителей - существенно более эффективного метода до сих пор не найдено. Вам нужно перебрать простые (либо все) множители от 7 до vN и попытаться произвести деление. N окажется простым, если ни на один из этих делителей не разделится нацело.

5

Чтобы не заниматься перебором вручную, можно написать собственную программу. Вы можете воспользоваться любимым языком программированию, скачав для него математическую библиотеку, в которой есть функция определения простых чисел. Если библиотека вам недоступна, придется действовать перебором, как описано в пункте 4. Удобнее всего перебирать числа вида 6k±1, так как все простые числа кроме 2 и 3 представимы в таком виде. Как просто

masterotvetov.com

Как проверить простое ли число

Теория простых чисел волнует математиков многие века. Известно, что их бесконечное множество, но тем не менее до сих пор не найдено даже формулы, которая давала бы одни простые числа.

Инструкция

completerepair.ru