U mnie wyszło tak:
32
[2, 2, 2, 2, 2]
210
[2, 3, 5, 7]
1331
[11, 11, 11]
1157625
[3, 3, 3, 5, 5, 5, 7, 7, 7]
Gra gitara!
105
[3, 5, 7]
Gra gitara!
429
[3, 11, 13]
Gra gitara!
1287
[3, 3, 11, 13]
Gra gitara!
3465
[3, 3, 5, 7, 11]
255255
[3, 5, 7, 11, 13, 17]
from math import sqrt
answers = {
'result_1':0,
}
def load_file(file_name):
lst = []
with open(file_name, 'r') as file:
for line in file:
lst.append(int(line.strip()))
return lst
def czy_pierwsza(liczba):
if liczba == 2 or liczba == 3:
return True
if liczba == 5:
return True
if liczba % 2 == 0:
return False
if liczba <= 1:
return False
pierw = int(sqrt(liczba)) + 1
for i in range(3, pierw):
if liczba % i == 0:
return False
return True
def rozloz_na_czynniki(liczba):
print(liczba)
result = []
i = 2
while liczba > 1:
if liczba % i == 0 and czy_pierwsza(i):
liczba /= i
result.append(i)
else:
i += 1
print(result)
return result
def zadanie1(lst):
for number in lst:
print("\n")
count = 0
check = []
czynniki = rozloz_na_czynniki(number)
for cz in czynniki:
if cz % 2 == 1:
count += 1
check.append(cz)
else:
break
if len(set(check)) == 3:
print("Gra gitara!")
answers['result_1'] += 1
def write_file(file_name, answers):
with open(file_name, 'w') as file:
file.writelines('Zadanie 1\n')
file.writelines(f'{answers["result_1"]}\n')
def main():
lst = load_file('liczby.txt')
zadanie1(lst)
write_file('wyniki_liczby.txt', answers)
if __name__ == '__main__':
main()