Maj 2024
Materiały do pobrania
Podgląd rozwiązań
1_2.py
def Najwiekszy_Czynnik(n):
d = 2
wynik = 1
while n > 1:
while n % d == 0:
wynik = d
n = n // d
d = d + 1
return wynik
print(Najwiekszy_Czynnik(252))2.py
def fun(a, b):
if a <= 2:
if a == 2:
return True
else:
return False
if a % b == 0:
return False
if b * b > a:
return True
return fun(a, b + 1)
# 2_1:
print(fun(0, 2))
print(fun(1, 2))
print(fun(7, 2))
print(fun(16, 2))
print(fun(-4, 2))
4_1.py
plansza = []
with open("plansza.txt") as f:
for linia in f:
plansza.append(list(map(int, linia.split())))
n = 100
licznik = 0
for i in range(n):
for j in range(n):
if plansza[i][j] == 0:
mozna = True
for di in (-1, 0, 1):
for dj in (-1, 0, 1):
if di == 0 and dj == 0:
continue
ni = i + di
nj = j + dj
if 0 <= ni < n and 0 <= nj < n:
if plansza[ni][nj] == 1:
mozna = False
if mozna:
licznik += 1
print(licznik)4_2.py
plansza = []
with open("plansza.txt") as f:
for linia in f:
plansza.append(list(map(int, linia.split())))
rozmiar_planszy = 100
jednomasztowce = [[False] * rozmiar_planszy for _ in range(rozmiar_planszy)]
for wiersz in range(rozmiar_planszy):
for kolumna in range(rozmiar_planszy):
if plansza[wiersz][kolumna] == 1:
czy_jednomasztowiec = True
for przesuniecie_wiersza in (-1, 0, 1):
for przesuniecie_kolumny in (-1, 0, 1):
if przesuniecie_wiersza == 0 and przesuniecie_kolumny == 0:
continue
sasiedni_wiersz = wiersz + przesuniecie_wiersza
sasiednia_kolumna = kolumna + przesuniecie_kolumny
if (0 <= sasiedni_wiersz < rozmiar_planszy and
0 <= sasiednia_kolumna < rozmiar_planszy and
plansza[sasiedni_wiersz][sasiednia_kolumna] == 1):
czy_jednomasztowiec = False
if czy_jednomasztowiec:
jednomasztowce[wiersz][kolumna] = True
liczba_par_symetrycznych = 0
for wiersz in range(rozmiar_planszy):
for kolumna in range(wiersz + 1, rozmiar_planszy):
if (jednomasztowce[wiersz][kolumna] and
jednomasztowce[kolumna][wiersz]):
liczba_par_symetrycznych += 1
print(liczba_par_symetrycznych)4_3.py
plansza = []
with open("plansza.txt") as f:
for linia in f:
plansza.append(list(map(int, linia.split())))
rozmiar_planszy = 100
liczba_dwumasztowcow = 0
for wiersz in range(rozmiar_planszy):
for kolumna in range(rozmiar_planszy):
if plansza[wiersz][kolumna] == 1:
if (kolumna + 1 < rozmiar_planszy and
plansza[wiersz][kolumna + 1] == 1):
liczba_dwumasztowcow += 1
if (wiersz + 1 < rozmiar_planszy and
plansza[wiersz + 1][kolumna] == 1):
liczba_dwumasztowcow += 1
print(liczba_dwumasztowcow)4_4.py
plansza = []
with open("plansza.txt") as f:
for linia in f:
plansza.append(list(map(int, linia.split())))
rozmiar_planszy = 100
liczba_jednomasztowcow_na_przekatnej = 0
liczba_dwumasztowcow_na_przekatnej = 0
for wiersz in range(rozmiar_planszy):
for kolumna in range(rozmiar_planszy):
if plansza[wiersz][kolumna] != 1:
continue
liczba_sasiadow = 0
for przesuniecie_wiersza in (-1, 0, 1):
for przesuniecie_kolumny in (-1, 0, 1):
if przesuniecie_wiersza == 0 and przesuniecie_kolumny == 0:
continue
sasiedni_wiersz = wiersz + przesuniecie_wiersza
sasiednia_kolumna = kolumna + przesuniecie_kolumny
if (0 <= sasiedni_wiersz < rozmiar_planszy and
0 <= sasiednia_kolumna < rozmiar_planszy and
plansza[sasiedni_wiersz][sasiednia_kolumna] == 1):
liczba_sasiadow += 1
if liczba_sasiadow == 0:
if (wiersz == kolumna or
wiersz + kolumna == rozmiar_planszy - 1):
liczba_jednomasztowcow_na_przekatnej += 1
if (kolumna + 1 < rozmiar_planszy and
plansza[wiersz][kolumna + 1] == 1):
if (
wiersz == kolumna or
wiersz + kolumna == rozmiar_planszy - 1 or
wiersz == kolumna + 1 or
wiersz + (kolumna + 1) == rozmiar_planszy - 1
):
liczba_dwumasztowcow_na_przekatnej += 1
if (wiersz + 1 < rozmiar_planszy and
plansza[wiersz + 1][kolumna] == 1):
if (
wiersz == kolumna or
wiersz + kolumna == rozmiar_planszy - 1 or
wiersz + 1 == kolumna or
(wiersz + 1) + kolumna == rozmiar_planszy - 1
):
liczba_dwumasztowcow_na_przekatnej += 1
print(liczba_jednomasztowcow_na_przekatnej)
print(liczba_dwumasztowcow_na_przekatnej)1_1.txt
liczba n rozkład liczby n na czynniki pierwsze największy czynnik
120 2 * 2 * 2 * 3 * 5 5
14 2 * 7 7
32 2 * 2 * 2 * 2 * 2 2
99 3 * 3 * 11 11
252 2 * 2 * 3 * 3 * 7 72_1.txt
a wynik fun(a, 2)
0 FAŁSZ
1 FAŁSZ
7 PRAWDA
16 FAŁSZ
-4 FAŁSZ2_2.txt
a Liczba wywołań fun(a, b + 1)
2 0
35 3
17 3
77 5
3.txt
3_1:
1. F
2. F
3. P
4. F
3_2:
1. F
2. F
3. P
4. P
3_3:
1. P
2. P
3. P
4. F
3_4:
1. F
2. F
3. P
4. Pwyniki5.txt
5_1:
23/03/2022 789
29/03/2022 5776
5_2:
nip_klienta ilosc_per_klient
164-61-25-530 12185 kg
159-34-45-151 12047 kg
091-99-74-175 11769 kg
5_3:
Całkowity przychód: 2422669.40zł
Odmiana przynosząca największy przychód: Reneta
5_4:
Wykres w 5.xlsx - Arkusz 5_4
5_5:
Liczba transakcji z rabatem
180
Łączna wartość transakcji:
3089.10 zł
wyniki6.txt
6_1:
Imie Nazwisko Suma_mandatow
Rafael Blake 3700
6_2:
Punkty LiczbaWykroczen
0 837
2 825
4 782
6 844
8 886
10 826
6_3:
Miesiac SumaPunktow
11 1766
6_4:
NrRejestracyjny Imie Nazwisko
BHW4028 Sandra Wheeler
CJX1859 Quynn Travis
KNM7950 Jasper Santos
NIP6570 Honorato Roth
QFR8936 Ivy Bowen
SRU9727 Helen White
XHK9060 Quentin Tyler
YYS1077 Kevin Wright
6_5:
Region LiczbaWykroczen
GCL 5
YQO 5