Poziom rozszerzony Formuła 2015

Maj 2019

Materiały do pobrania

1_1.py
# Złożność liniowa:
def pierwsza_liczba_jasia(A):
    for i in A:
        if i % 2 == 0:
            return i

A = [5, 99, 3, 7, 111, 13, 4, 24, 4, 8]
print(pierwsza_liczba_jasia(A))


# Wyszukiwanie binarne:
def pierwsza_liczba_jasia(A):
    lewy = 0
    prawy = len(A) - 1

    while lewy < prawy:
        s = (lewy + prawy) // 2

        if A[s] % 2 == 0:
            prawy = s
        else:
            lewy = s + 1

    return A[lewy]

A = [5, 99, 3, 7, 111, 13, 4, 24, 4, 8]
print(pierwsza_liczba_jasia(A))
2.py
def pisz(s, n, k):
    if len(s) == n:
        print(s)
    else:
        for i in range(k):
            pisz(s + str(i), n, k)

print(pisz("", 2, 3))
4_1.py
f = open("liczby.txt")

ile = 0

for i in f:
    liczba = int(i)
    while liczba % 3 == 0:
        liczba //= 3

    if liczba == 1:
        ile += 1

print(ile)

f.close()
4_2.py
def silnia(n):
    wynik = 1
    for i in range(2, n+1):
        wynik *= i
    return wynik
f = open("liczby.txt")

for wiersz in f:
    liczba = int(wiersz)

    suma = 0
    for cyfra in str(liczba):
        suma += silnia(int(cyfra))

    if suma == liczba:
        print(liczba)
f.close()
4_3.py
from math import gcd

with open("liczby.txt") as f:
    liczby = [int(x) for x in f]

naj_dl = 0
pierwsza = 0
naj_nwd = 0

for i in range(len(liczby)):
    aktualny_nwd = liczby[i]

    for j in range(i, len(liczby)):
        aktualny_nwd = gcd(aktualny_nwd, liczby[j])

        if aktualny_nwd == 1:
            break

        dlugosc = j - i + 1

        if dlugosc > naj_dl:
            naj_dl = dlugosc
            pierwsza = liczby[i]
            naj_nwd = aktualny_nwd

print("Pierwsza liczba:", pierwsza)
print("Długość:", naj_dl)
print("NWD:", naj_nwd)
1_2.txt
1. Algorytm - O(n)
2. Algorytm - O(log n)
2_1.txt
a)
1. pisz("",2,2)
2. pisz("0",2,2)
3. pisz("00",2,2)
4. pisz("01",2,2)
5. pisz("1",2,2)
6. pisz("10",2,2)
7. pisz("11",2,2)
2_2.txt
a)
Napisy wypisane w wyniku wywołania funkcji pisz("",3,2):
000
001
010
011
100
101
110
111

Łączna liczba wywołań funkcji pisz("",3,2): 15


b)
Napisy wypisane w wyniku wywołania funkcji pisz("",2,3):
00
01
02
10
11
12
20
21
22

Łączna liczba wywołań funkcji pisz("",2,3): 13
2_3.txt
1 + k + k^2 + ... + k^n
wyniki3.txt
3_1:
1. F
2. P
3. P
4. F

3_2:
1. P
2. F
3. P
4. P

3_3:
1. P
2. P
3. F
4. F
wyniki4.txt
4_1: 18

4_2: 2, 145, 1, 40585

4_3: Pierwsza liczba: 31968	Długość: 150	NWD: 74
wyniki5.txt
5_1: 63

5_2: pierwszym dniem ciągu spełniającym warunek zadania jest 448, a ostatnim - 455

5_3: zadanie5.xlsx

5_4: 

a)
Wielkosc_chmur	Liczba_dni
0	34
1	102
2	102
3	102
4	100
5	60

b) 296

C) 286
wyniki6.txt
6_1: Oyal Priather, Ologne D'oud, Uelques FleuE

6_2:
aromatyczna 124 Ibrary Ollec D'amore  
orientalna 113 Anille La Tosca  
orientalna łagodna 122 Ndy Warhol S Rose  
kwiatowo-orientalna 103 Arla : Vivace  
cytrusowa 259 Sian Grad  
wodna 146 Ilver Mounaya  
owocowa 154 Ake Perfucturne  
skórzana 112 Ui Mare  
cytrusowo-aromatyczna 178 Re Nostrum,ir  
drzewna 123 Pperlee Bouquet  
pudrowa 139 Ivm Cristal  
kwiatowo-drzewna 104 Rougna  
orientalno-drzewna 138 LackNight  
zielona 406 EOman  
szyprowo-skórzana 158 Uir OtPlace  
kwiatowo-szyprowa 287 Etish Pothal  
szyprowa 226 Usk ti 1888  
kwiatowa 110 Ose Deurmaline

6_3: Aison Eranciro, Arthbey, Embert Lucas, Enmith, Nnick a Kieffo

6_4: 
Ourn Boise	141.95
Onou Back	222.7
Pic An	230.35
Nterl Bambola	292.4
Ubilatio Champs	381.65
Ibrary Ollec D'or	489.6
Ate An	544.85
Elov & Musc	660.45

6_5:
Enmith	kwiatowo-orientalna
Ightce	aromatyczna
Issmkunstwerke	orientalna
Nnick a Kieffo	orientalna
X ICologne	orientalno-drzewna