Załóżmy, że dane są dwie listy A i B liczb naturalnych, posortowane rosnąco oraz dana liczba naturalna x. Napisać program, który sprawdza, czy istnieją takie a z listy A i b z listy b, że x=a+b. Rozwiązanie ,,brzydkie" (a w zasadzie nieoptymalne), czyli metodą ,,brute force" (o złożoności kwadratowej) jest za 2 punkty, rozwiązanie ciekawsze (o lepszym rzędzie złożoności) za 4 punkty.
Pomoże ktoś? Poniższy program który napisałam mi niestety nie działa.
print('Podaj x:')
x = input()
def sumujdox(A,B):
n=len(A)
a=A[0]
m=len(B)
b=B[0]
for i in range(n):
a=A[i]
for j in range(m):
b=B[j]
if x == a+b:
print ('a=',a,'b=',b)
else:
j=j+1
if x == a+b:
print ('a=',a,'b=',b)
else:
i=i+1
L1=[0,1,2,3,9]
L2=[0,1,3,4,6]
print(sumujdox(L1,L2))