X е просто число. Как да намерим прости числа


Задача 2.30
Даден е едномерен масив A, състоящ се от естествени числа. Покажете броя на простите числа в масива.

Първо, нека ви напомня какво представлява прости числа.

Сега да преминем към задачата. По същество имаме нужда от програма, която определя прости числа. И сортирането на елементите и проверката на техните стойности е въпрос на технология. В същото време можем не само да броим, но и да показваме простите числа на масива.

Как да определим просто число в Pascal

Ще предоставя алгоритъм за решение с подробен анализ в Pascal. Можете да видите решението в примерната програма на C++.

ВАЖНО!
Това е мястото, където много хора могат да сбъркат. Дефиницията казва, че едно просто число има гладкадве различниразделител Следователно числото 1 не е просто (също не е просто, тъй като нулата може да бъде разделена на произволно число).

Ще проверим дали едно число е просто с помощта на , което ще създадем сами. Тази функция ще върне TRUE, ако числото е просто.

Във функцията първо ще проверим дали числото е по-малко от две. Ако е така, то вече не е просто число. Ако числото е 2 или 3, то е уникално просто и някои неща могат да бъдат направени допълнителни проверкине се изисква.

Но ако числото N е по-голямо от три, тогава в този случай ще преминем през всички възможни делители, започвайки от 2 до (N-1). Ако числото N се дели на някакъв делител без остатък, то също не е просто число. В този случай прекъсваме цикъла (защото няма смисъл да проверяваме допълнително) и функцията връща FALSE.

Няма смисъл да се проверява дали едно число се дели само на себе си (затова цикълът продължава само до N-1).

Тук няма да представям самата функция - вижте я в примерните програми.

Решаване на задача 2.30 в Pascal mytask; //************************************************ *************** //КОНСТАНТИ //******************************** ********* *************************************** БРОЙ = 100; //Брой елементи в масива //**************************************** ********** *********************** // ФУНКЦИИ И ПРОЦЕДУРИ //********** *********** *************************************** ** //***** ***************************************** * ******** // Проверява дали числото е просто // INPUT: N - число // OUTPUT: TRUE - числото N е просто, FALSE - не е просто //********** **************************************** **** IsPrimeNumber(N: WORD) : ; var i: ; начало := ВЯРНО;

N от 0..3: начало N Изход;край; край; i:= 2 to (N-1) do if (N i) = 0 then //Не е просто число begin Result:= FALSE;

;

край; край;

Много често учениците не знаят как да отговорят на един от най-простите на пръв поглед въпроси в математиката за това какво е просто число. Те често бъркат простите числа с естествените числа (т.е. числата, които хората използват при броене на предмети, докато в някои източници те започват с нула, а в други с единица). Но това са напълно две различни концепции. Простите числа са естествени числа, тоест цели и положителни числа, които са по-големи от единица и имат само 2 естествени делителя. Освен това единият от тези делители е даденото число, а вторият е едно. Например, три е просто число, защото не може да бъде разделено без остатък на друго число, различно от себе си и едно.

Съставни числа

Обратното на простите числа са съставните числа. Те също са естествени, също по-големи от едно, но имат не два, а по-голям брой делители. Така например числата 4, 6, 8, 9 и т.н. са естествени, съставни, но не и прости числа. Както можете да видите, това са предимно четни числа, но не всички. Но „две“ е четно число и „първото число“ в поредица от прости числа.

Последователност

За да конструирате поредица от прости числа, е необходимо да изберете от всички естествени числа, като вземете предвид тяхната дефиниция, тоест трябва да действате от противоречие. Необходимо е всяко от положителните естествени числа да се изследва дали има повече от два делителя. Нека се опитаме да изградим редица (последователност), която се състои от прости числа. Списъкът започва с две, следвани от три, тъй като се дели само на себе си и на едно. Помислете за числото четири. Има ли делители, различни от четири и едно? Да, това число е 2. Така че четири не е просто число. Пет също е просто (не се дели на друго число, освен на 1 и 5), но шест се дели. И като цяло, ако проследите всички четни числа, ще забележите, че освен "две", нито едно от тях не е просто. От това заключаваме, че четните числа, с изключение на две, не са прости. Друго откритие: всички числа, които се делят на три, с изключение на самата тройка, независимо дали са четни или нечетни, също не са прости (6, 9, 12, 15, 18, 21, 24, 27 и т.н.). Същото важи и за числата, които се делят на пет и седем. Цялото им множество също не е просто. Нека да обобщим. И така, простите едноцифрени числа включват всички нечетни числа с изключение на едно и девет, а дори „две“ са четни числа. Самите десетки (10, 20,... 40 и т.н.) не са прости. Двуцифрените, трицифрените и т.н. прости числа могат да бъдат определени въз основа на горните принципи: ако нямат делители, различни от себе си и единица.

Теории за свойствата на простите числа

Има наука, която изучава свойствата на целите числа, включително простите числа. Това е клон на математиката, наречен висша. В допълнение към свойствата на целите числа, тя се занимава и с алгебрични и трансцендентални числа, както и с функции от различен произход, свързани с аритметиката на тези числа. При тези изследвания освен елементарни и алгебрични методи се използват и аналитични и геометрични. По-конкретно, „Теория на числата“ се занимава с изучаването на прости числа.

Простите числа са „градивните елементи“ на естествените числа

В аритметиката има една теорема, наречена фундаментална теорема. Според него всяко естествено число, с изключение на едно, може да бъде представено като произведение, чиито множители са прости числа, а редът на множителите е уникален, което означава, че методът на представяне е уникален. Нарича се разлагане на естествено число на прости множители. Има и друго име за този процес - факторизация на числата. Въз основа на това простите числа могат да бъдат наречени „ строителен материал”, „блокове” ​​за конструиране на естествени числа.

Търсене на прости числа. Тестове за простота

Много учени от различни времена се опитваха да намерят някои принципи (системи) за намиране на списък от прости числа. Науката познава системи, наречени сито на Аткин, сито на Сундартам и сито на Ератостен. Те обаче не дават значими резултати и за намиране на прости числа използваме проста проверка. Математиците също създават алгоритми. Те обикновено се наричат ​​тестове за първичност. Например, има тест, разработен от Рабин и Милър. Използва се от криптографи. Съществува и тестът Kayal-Agrawal-Sasquena. Въпреки достатъчната точност обаче е много трудно да се изчисли, което намалява практическото му значение.

Наборът от прости числа има ли ограничение?

Древногръцкият учен Евклид пише в книгата си „Елементи“, че множеството от прости числа е безкрайно. Той каза следното: „Нека си представим за момент, че простите числа имат ограничение. След това нека ги умножим един с друг и добавим едно към произведението. Числото, получено в резултат на тези прости действия, не може да бъде разделено на нито една от серията прости числа, тъй като остатъкът винаги ще бъде единица. Това означава, че има друго число, което все още не е включено в списъка с прости числа. Следователно нашето предположение не е вярно и това множество не може да има граница. Освен доказателството на Евклид, има по-модерна формула, дадена от швейцарския математик от осемнадесети век Леонхард Ойлер. Съгласно него сумата, реципрочна на сумата от първите n числа, нараства неограничено с нарастване на числото n. А ето и формулата на теоремата относно разпределението на простите числа: (n) расте като n/ln (n).

Кое е най-голямото просто число?

Същият Леонард Ойлер успя да намери най-голямото просто число на своето време. Това е 2 31 - 1 = 2147483647. До 2013 г. обаче беше изчислено друго най-точно най-голямо в списъка с прости числа - 2 57885161 - 1. Нарича се числото на Мерсен. Съдържа около 17 милиона десетични цифри. Както можете да видите, числото, открито от учен от осемнадесети век, е няколко пъти по-малко от това. Трябваше да е така, защото Ойлер извърши това изчисление ръчно, но нашият съвременник вероятно е бил подпомогнат от компютър. Освен това това число е получено в Математическия факултет на един от американските отдели. Числата, кръстени на този учен, преминават теста за простота на Luc-Lemaire. Науката обаче не иска да спре дотук. Electronic Frontier Foundation, която е основана през 1990 г. в Съединените американски щати (EFF), предложи парична награда за намиране на големи прости числа. И ако до 2013 г. наградата се присъждаше на онези учени, които биха ги намерили измежду 1 и 10 милиона десетични числа, днес тази цифра достигна от 100 милиона до 1 милиард. Наградите варират от 150 до 250 хиляди щатски долара.

Имена на специални прости числа

Тези числа, които са открити благодарение на алгоритми, създадени от определени учени и преминали теста за простота, се наричат ​​специални. Ето някои от тях:

1. Мерсен.

4. Кълън.

6. Mills et al.

Простотата на тези числа, кръстени на горните учени, се установява с помощта на следните тестове:

1. Люк-Льометр.

2. Пепина.

3. Ризел.

4. Billhart – Lemaire – Selfridge и др.

Съвременната наука не спира дотук и вероятно в близко бъдеще светът ще научи имената на онези, които са успели да получат наградата от 250 000 долара, като са намерили най-голямото просто число.

Отговорът на Иля е правилен, но не много подробен. През 18 век, между другото, единицата все още се смяташе за просто число. Например такива велики математици като Ойлер и Голдбах. Голдбах е автор на един от седемте проблема на хилядолетието – хипотезата на Голдбах. Оригиналната формулировка гласи, че всяко четно число може да бъде представено като сбор от две прости числа. Освен това първоначално 1 беше взето предвид като просто число и виждаме това: 2 = 1+1. Това е най-малкият пример, който удовлетворява първоначалната формулировка на хипотезата. По-късно той беше коригиран и формулировката стана модерен вид: „всяко четно число, започващо с 4, може да бъде представено като сбор от две прости числа.“

Нека си припомним определението. Простото число е естествено число p, което има само 2 различни естествени делителя: самото p и 1. Следствие от определението: простото число p има само един прост делител - самото p.

Сега нека приемем, че 1 е просто число. По дефиниция простото число има само един прост делител - себе си. Тогава се оказва, че всяко просто число, по-голямо от 1, се дели на различно от него просто число (на 1). Но две различни прости числа не могат да бъдат разделени едно на друго, защото иначе те не са прости числа, а съставни числа, а това противоречи на определението. При този подход се оказва, че има само 1 просто число - самата единица. Но това е абсурдно. Следователно 1 не е просто число.

1, както и 0, образуват друг клас числа - класът на неутралните елементи по отношение на n-арни операции в някакво подмножество на алгебричното поле. Освен това, по отношение на операцията на събиране, 1 също е генериращ елемент за пръстена от цели числа.

С това съображение не е трудно да се открият аналози на прости числа в други алгебрични структури. Да предположим, че имаме мултипликативна група, образувана от степени на 2, като се започне от 1: 2, 4, 8, 16, ... и т.н. 2 действа като формиращ елемент тук. Просто число в тази група е число, по-голямо от най-малкия елемент и делимо само на себе си и на най-малкия елемент. В нашата група само 4 имат такива имоти. В нашата група вече няма прости числа.

Ако 2 също беше просто число в нашата група, тогава вижте първия параграф - отново ще се окаже, че само 2 е просто число.