Rozwiązanie
Zadanie 4.1 – matura 2019, czerwiec

Zadanie 4.1 (0-4)

Wybrane liczby
Wybrane liczby
Liczby pierwsze to liczby naturalne większe od 1, które mają dokładnie dwa dzielniki: jedynkę i samą siebie.
Dane są dwa pliki: liczby.txt i pierwsze.txt. Plik liczby.txt zawiera 300 wierszy. W każdym wierszu tego pliku znajduje się jedna liczba całkowita dodatnia z zakresu od 1 do 100 000.
Plik pierwsze.txt zawiera 200 wierszy. W każdym wierszu tego pliku znajduje się jedna liczba pierwsza z zakresu od 10 do 1 300 000.
Uwaga: pomocnicze pliki liczby_przyklad.txt i pierwsze_przyklad.txt, zawierają dane, które możesz wykorzystać, aby sprawdzić poprawność działania swojego(-ich) programu(-ów). Każdy z nich zawiera po 50 wierszy. W każdym wierszu znajduje się jedna liczba. Odpowiedzi dla danych z tych plików są podane pod treściami zadań.
Napisz program(-y), w wyniku działania którego(-ych) otrzymasz odpowiedzi do poniższych zadań. Pliki źródłowe z rozwiązaniem zapisz pod nazwą zgodną z numerem zadania, z rozszerzeniem odpowiadającym użytemu językowi programowania. Podaj, (zachowując ich kolejność) te liczby z pliku liczby.txt, które są liczbami pierwszymi z przedziału 〈100; 5000〉. Odpowiedź zapisz w pliku wyniki4_1.txt.
Dla pliku liczby_przyklad.txt odpowiedzią są liczby: 103, 163, 173, 701, 1033, 2137, 3529, 4933, 977, 2143.
Rozwiązanie zadań w Pythonie:
from math import sqrt

def is_prime(integer):
    for i in range(2, int(sqrt(integer)+1)):
        if integer % i == 0:
            return False
    return True

with open("MIN-R2A1P-193_dane/liczby.txt") as f:
    lines = [line.strip() for line in f.readlines()]
    numbers = [int(line) for line in lines]

print("4.1")
for number in numbers:
    if number in range(100, 5001):
        if is_prime(number):
            print(number)
Pobierz rozwiązanie
Wyszukaj więcej zadań z tego arkusza...