Generuj liczby pierwszorzędne w Pythonie

Generuj liczby pierwszorzędne w Pythonie
Dowiesz się, jak generować i otrzymywać liczby pierwszorzędne za pomocą Pythona w tym samouczku, identyfikując wszystkie liczby Prime w określonym zakresie wartości. Liczby pierwotne to te, które mają tylko samą liczbę i liczbę 1 jako czynniki. Innymi słowy, tylko liczba 1 i sama liczba mogą podzielić liczbę pierwszą. Nie są one całkowicie podzielne według żadnej innej liczby. Praca z liczbami pierwszymi to umiejętność często używana w polach takich jak bezpieczeństwo cybernetyczne.

Po zakończeniu tego samouczka dowiesz się:

  • Jakie są liczby podstawowe?
  • Kilka metod Pythona do uzyskiwania liczb pierwszych.
  • Optymalizacja algorytmu Pythona do uzyskania liczb pierwszych.
  • Korzystając z Pythona, znajdź wszystkie liczby Prime w określonym zakresie wartości.

Jakie są liczby pierwotne?

W Pythonie liczby pierwszorzędne są liczbą typu int, które są większe niż 1 i nie mają żadnych innych czynników oprócz siebie i 1. Liczba pierwsza to jedna jak 5, a liczba nieprimka wynosi cztery (ponieważ 2 x 2 jest równe 4). Liczby 2, 11, 23 i 43 należą do niewielu liczb pierwszych.

Jak można wygenerować liczby pierwszorzędne w Python?

Seria liczb pierwszych może wyglądać jak 2, 3, 5, 7, 9, 11, 13 i tak dalej. Logikę można zaimplementować w Python w celu odtworzenia tej sekwencji liczb pierwszych i ustalenia, czy dowolna liczba jest pierwsza, czy nie. Korzystanie z bibliotek Python, pętli, warunków i funkcji Lambda to kilka technik wykonania tego zadania.

Istnieją różne podejścia do wdrażania liczb pierwszych w Python; Wyjaśniliśmy kilka w poniższych przykładach.

Przykład nr 1: Generowanie sekwencji liczb pierwszych za pomocą funkcji Lambda

Liczby pierwotne można wygenerować za pomocą funkcji Lambda, jak widać w poniższym przykładzie.

Kod:

def prime_seq (num):
Dla i w zakresie (2, num):
Jeśli Prime (i) == True:
print (i, end = "")
w przeciwnym razie:
przechodzić
num = int (input („Wprowadź zakres:”))
prime = Lambda NUM: All (num%x != 0 dla x w zakresie (2, int (num **.5) +1))
Prime_seq (num)

Wyjście:

Wprowadzamy wartość klucza 30, więc funkcja wydrukowała wszystkie liczby Prime od 2 do 30. Korzystanie z funkcji Lambda, która jest funkcją sieroty lub funkcją anonimową, jest używana w powyższym programie do określenia zakresu liczb pierwszych. Zaprojektowaliśmy program w taki sposób, aby po wykonaniu skryptu program poprosi użytkownika o wprowadzenie wartości kluczowej. Następnie program wygeneruje sekwencję lub serię liczb pierwszych, zaczynając od 2 do określonej wartości kluczowej.

Przepływ programu:

Użytkownik wchodzi do zakresu wejściowego, a metoda wejściowa Pythona jest używana do przyjmowania tego wejścia. Wejście jest wyraźnie przekształcane w numeryczny danych INT. W trakcie wywoływania funkcji Cast Int jest dostarczany jako argument. Funkcja Lambda jest wywoływana przez zdefiniowaną funkcję. W rezultacie funkcja Lambda jest wywoływana dla każdej liczby lub wartości całkowitej od 2 do określonej wartości kluczowej i wykonuje się kontrolę pierwotną. Aby wykonać ten główny czek, liczba logiki%2! = 0 jest używane.

Przykład nr 2: Generowanie liczb pierwszych za pomocą pętli

Widzieliśmy, jak uzyskać sekwencję liczb pierwszych za pomocą funkcji Lambda. Teraz użyjemy pętli i warunku, aby wygenerować sekwencję liczb pierwszych.

Kod:

num = int (input („Wprowadź zakres:”))
Dla i w zakresie (2, num):
dla x w zakresie (2, i):
if (i%x == 0):
przerwa
w przeciwnym razie:
Drukuj (i)

Wyjście:

Nasz program uzyskał serię liczb pierwszych od 2 do 13 z powodzeniem, gdy wprowadziliśmy wartość 15. Ten program wykorzystuje pętle i warunki, aby uzyskać serię liczb pierwszych. Wykonuje się w taki sposób, że po wejściu użytkownika do określonej liczby całkowity.

Przepływ programu:

Użytkownik wchodzi do zakresu wejściowego, a funkcja wejściowa () przyjmuje to wejście. Określone wejście jest następnie wyraźnie przekształcane w typ int. W tym przykładzie dwa liczby całkowite są określane poprzez zagnieżdżone zapętlenie; Pierwsza pętla upewnia się, że uzyskaj wszystkie liczby lub liczby całkowite leżące w kluczowym zakresie. Weryfikacja liczby pierwszej jest określona przez drugą dla pętli. Obsługiwana liczba całkowita jest wyświetlana/drukowana do konsoli, jeśli wynik procesu dla każdej denominowanej wartości całkowitej nie wynosi 0. Każda liczba w określonym zakresie od dwóch do wartości wejściowej podlega pętli, która powtarza ten proces.

Przykład nr 3: Generowanie liczb pierwszych za pomocą pętli While

Teraz będziemy używać pętli do uzyskania liczb pierwszych w określonym zakresie.

Kod:

Range = int (input ('Wprowadź zakres:'))
num = 1
While (num <= range):
Count = 0
x = 2
While (x <= num//2):
if (num % x == 0):
Count = Count + 1
przerwa
x = x + 1
if (count == 0 i num!= 1):
Drukuj („ %d” %num, end = ”)
num = num + 1

Wyjście:

Określiliśmy wartość wejściową 45, a program wyodrębniał wszystkie liczby Prime do liczby „45”. W powyższym kodzie, while pętle i warunki są używane do określenia zakresu liczb pierwszych. Po wejściu użytkownika do liczby całkowitej wszystkie liczby pierwszorzędne spada między zakresem 2 a określonym wejściem są generowane i wyświetlane.

Przepływ programu:

Użytkownik wchodzi do zakresu wejściowego, a metoda wejściowa Pythona jest używana do przyjmowania tego wejścia. Wejście zostało następnie rzucone na DataType int. Tutaj kontrola pierwotna jest wykonywana za pomocą pętli white. Kontrola pętli opiera się na kontroli warunkowej, a proces rowerowy będzie kontynuowany, aż wprowadzana wartość przekroczy zmienną sterowania pętli. Zmienna kontroli pętli jest inicjowana z 1 i wzrasta o 1 po każdej pętli. Ponownie, jeśli wynik procesu dla każdej denominowanej wartości liczb całkowity. Dla każdej wartości całkowitej od 1 do określonej wartości klucza, proces ten zostanie powtórzony i wykonany.

Przykład nr 4: Generowanie liczb pierwszych za pomocą biblioteki sympy w Python

Za pomocą sympy.Funkcja primerange () w bibliotece sympy, możemy uzyskać listę zawierającą liczby prime w określonym zakresie za pomocą tej funkcji.

Kod:

Import Sympy
l_Limit = int (input („dolny limit:”))
h_Limit = int (input („wyższy limit:”))
litera prime_numbers = (sympy.Primerange (L_LIMIT, H_LIMIT+1))
Drukuj („liczby prime:”, prime_numbers)

Wyjście:

Ten program wykorzystał predefiniowaną bibliotekę, aby znaleźć zakres liczb pierwszych. W tym przykładzie moduł sympy służy do wykonywania kontroli pierwszej, a funkcja wygenerowała listę z liczbami pierwszymi, które leżą w niższych i wyższych limitach, określone przez nas.

Przepływ programu:

Użytkownik wchodzi do niższego i wyższego zakresu. Wejście użytkownika są następnie przetwarzane przez funkcję wejściową Pythona. Uzyskane wejście jest rzucane na typ int. Metoda modułu Sympy modułu starterange () przyjmuje niższe i wyższe wartości jako dane wejściowe. Wyjście funkcji jest drukowane po rzuceniu na zmienną listę.

Weryfikacja liczb pierwszych

Widzieliśmy różne podejścia do generowania liczb pierwszych. Teraz powinieneś być w stanie sprawdzić, czy liczba jest pierwsza, czy nie. W tym celu możesz sprawdzić poniższy program. Najprostszym i najbardziej podstawowym podejściem jest iteracja przez zakres liczb całkowitych dodatnich od dwóch do numeru wejściowego i sprawdzenie, czy zakres i modulo liczby są równe zero. Jeśli tak się stanie, liczba nie jest liczbą pierwszą, ponieważ ma dzielnik inny niż „jeden” i sam numer.

Kod:

def CheckPrime (n):
Jeśli n> 1:
Dla i w zakresie (2, n):
Jeśli n % i == 0:
zwróć false
zwróć prawdziwie
zwróć false
Drukuj (CheckPrime (13))
Drukuj (CheckPrime (12))
Wyjście:

Dla numeru 13 funkcja zwróciła True i False dla numeru 12. Zdefiniowaliśmy funkcję „CheckPrime”, która akceptuje tylko jedną liczbę całkowitą jako argument, ponieważ liczby prime muszą być większe niż 1, jeśli numer wejściowy nie jest większy niż jeden, funkcja zwraca false. Następnie itera w zakresie od dwóch do określonej liczby. Funkcja zwróci false, jeśli modulo (%) wprowadzonej liczby „num” i iteracja „i” jest równa zero. Jeśli nie, metoda powraca prawdziwie.

Wniosek

W tym samouczku najpierw zobaczyliśmy wprowadzenie do liczb pierwszych, a następnie omówiliśmy, w jaki sposób możemy generować losowe liczby w Pythonie. Zastosowaliśmy różne podejścia do generowania serii/zakresu liczb pierwszych. Najpierw użyliśmy funkcji Lambda, po drugie, używaliśmy do pętli i warunków, a następnie użyliśmy pętli While, a na koniec zastosowaliśmy metodę modułu sympy (. Wdrożyliśmy również jeden przykład, aby sprawdzić, czy liczba jest pierwsza, czy nie.