Po posortowaniu (bez straty ogólności załóżmy że niemalejąco):
Kod: Zaznacz cały
Dla p=1 do m rób
i=p
dopóki "i mniejsza lub równe m" rób
Jesli A[p]*A[i]=x to wypisz (p,i) oraz (i,p) \ obie pary gdy kolejność ma znaczenie
i=i+1
- krok
\(\displaystyle{ i=p}\) powoduje że przeszukujesz trójkąt z przekątną macierzy "m na m"
- przed wykonaniem iloczynu można by sprawdzić czy kolejny wzięty element nie jest równy elementowi wziętemu krok wcześniej, ale pytanie czy krok sprawdzający nie bedzie nas wiecej kosztował niż prosty warunek z iloczynem?
- mozna najpierw pokusić się o rozkład x na czynniki -> wszystkie możliwe pary czynników i sprawdzać czy takie pary istnieją. Przy ciągu uporządkowanym nie bedzie to trudne.