Zadanie 4.1 (0-3)
Pary
Rozwiązanie zadań w Pythonie:
lines = ""
with open("Dane_PR2/pary.txt") as f:
lines = f.readlines()
nums = []
strings = []
for line in lines:
line.strip()
num, string = line.split()
nums.append(int(num))
strings.append(string)
print("
4.1")
from math import sqrt
prime_nums = []
for num in range(3, 100): # zakres od 3, bo 2 jest liczbą parzystą
if all(num%i!=0 for i in range(2, int(sqrt(num))+1)):
prime_nums.append(num)
def is_prime(num):
return True if num in prime_nums else False
for num in nums:
if num % 2 == 0:
for i in range(3, num//2+1): # zakres od 3, bo 2 jest liczbą parzystą, a do num//2+1, ponieważ jeśli sprawdzalibyśmy dalej, to odtwarzalibyśmy sprawdzanie od tyłu
if is_prime(i) and is_prime(num-i):
print(num, i, num-i)
break
Pobierz rozwiązanie
Wytłumaczenie pojawi się niebawem.
Zadanie 4.2 (0-4)
Pary
Rozwiązanie zadań w Pythonie:
lines = ""
with open("Dane_PR2/pary.txt") as f:
lines = f.readlines()
nums = []
strings = []
for line in lines:
line.strip()
num, string = line.split()
nums.append(int(num))
strings.append(string)
print("
4.2")
for string in strings:
current_word = string[0]
longest_word = string[0]
for char in string[1:]:
if char == current_word[-1]:
current_word += char
else:
current_word = char
if len(current_word) > len(longest_word):
longest_word = current_word
print(longest_word, len(longest_word))
Pobierz rozwiązanie
Wytłumaczenie pojawi się niebawem.
Zadanie 4.3 (0-4)
Pary
Rozwiązanie zadań w Pythonie:
lines = ""
with open("Dane_PR2/pary.txt") as f:
lines = f.readlines()
nums = []
strings = []
for line in lines:
line.strip()
num, string = line.split()
nums.append(int(num))
strings.append(string)
print("
4.3")
pairs = []
for num, string in zip(nums, strings):
if num == len(string):
pairs.append((num, string))
smallest_pair = sorted(pairs)[0]
print(smallest_pair[0], smallest_pair[1])
Pobierz rozwiązanie
Wytłumaczenie pojawi się niebawem.
Zadanie 5.1 (0-2)
Języki
SELECT Rodzina, COUNT(*) AS ["Ile jezykow"] FROM Jezyki GROUP BY Rodzina ORDER BY 2 DESC; Pobierz rozwiązanie
Zadanie 5.2 (0-2)
Języki
SELECT COUNT(*) AS ["Jezyki nieurzedowe"] FROM (SELECT DISTINCT jezyk FROM Uzytkownicy WHERE jezyk NOT IN (SELECT jezyk FROM Uzytkownicy WHERE urzedowy="tak")); Pobierz rozwiązanie
Zadanie 5.3 (0-2)
Języki
SELECT U.jezyk, Count(*) AS Kontynenty FROM (SELECT U.jezyk FROM Uzytkownicy AS U INNER JOIN Panstwa AS P ON U.Panstwo=P.Panstwo GROUP BY P.kontynent, U.jezyk) AS [%$##@_Alias] GROUP BY U.jezyk HAVING Count(*)>=4; Pobierz rozwiązanie
Zadanie 5.4 (0-3)
Języki
SELECT TOP 6 J.jezyk, J.rodzina, SUM(U.Uzytkownicy) AS Uzytkownicy FROM (Jezyki AS J INNER JOIN Uzytkownicy AS U ON J.Jezyk=U.Jezyk) INNER JOIN Panstwa AS P ON U.Panstwo=P.Panstwo WHERE (P.Kontynent="Ameryka Polnocna" Or P.Kontynent="Ameryka Poludniowa") AND J.Rodzina<>"indoeuropejska" GROUP BY J.jezyk, J.rodzina ORDER BY 3 DESC; Pobierz rozwiązanie
Zadanie 5.5 (0-3)
Języki
SELECT U.Panstwo, U.jezyk, ROUND(U.uzytkownicy/P.populacja*100,2) AS ["Procent poslugujacych sie"] FROM Panstwa AS P INNER JOIN Uzytkownicy AS U ON P.Panstwo=U.Panstwo WHERE U.urzedowy<>"tak" And U.uzytkownicy/P.populacja*100>=30; Pobierz rozwiązanie