Odpowiedź :
Odpowiedź:
1.1)
def dzielnikinaturalne(n):
dzielniki = []
for i in range(1,int(n**0.5)+1):
if n%i==0:
dzielniki.append(i)
dzielniki.append(n//i)
return sorted(set(dzielniki))
def dzielnikipierwsze(n):
dzielniki = []
for i in dzielnikinaturalne(n)[1:]:
for j in range(2,int(i**0.5)+1):
if i%j==0:break
else:dzielniki.append(i)
return dzielniki
n=int(input('Podaj liczbe naturalna n: '))
print('Dzielniki naturalne dla podanej liczby to: ',dzielnikinaturalne(n))
print('Dzielniki pierwsze dla podanej liczby to: ',dzielnikipierwsze(n))
1.3)
def czypierwsza(n):
if n<2:return False
for i in range(2,int(n**0.5)+1):
if n%i==0:return False
return True
def czyblizniacze(a,b):
if czypierwsza(a) and czypierwsza(b) and abs(a-b)==2:return True
return False
def blizniacze(n):
pierwsze = []
blizniacze = []
for i in range(n):
if czypierwsza(i):pierwsze.append(i)
for i in range(len(pierwsze)-1):
if pierwsze[i+1]-pierwsze[i]==2:blizniacze.append(f'{pierwsze[i]} i {pierwsze[i+1]}')
return blizniacze
print('Podane liczby sa liczbami blizniaczymi\n' if czyblizniacze(int(input('Podaj pierwsza liczbe: ')),int(input('Podaj druga liczbe: ')))else 'Podane liczby nie sa liczbami blizniaczymi\n')
print('Pary liczb blizniaczych mniejsze od podanej liczby to: ',blizniacze(int(input('Podaj liczbe: '))))