#11 Dave
Aha no takto to je no potom ti nezostava napisat nic ine ako kod ktory pozostava z porovnania NSD vsetkych prvkou. Co si uz asi napisal :D. Mozno taky hint ze ak mas prvky v poli x_i a x_j take ze ich NSD(x_i, x_j)=k a existuju v tom poli prvky mensie ako k tak tie nemusis porovnavat. Takze ak mas pole (x_1,x_2,...,x_l, x_{l+1}, ..., x_i,....,x_j,....x_n), kde n jepocet porvkov a ako pred tym NSD(x_i, x_j)=k a plati k> x_l. Tak prvky od x_l po x_1 uz nebudes porovnavat. Niesom informatik takze mozno existuje algoritmus ktory toto vie este efektyvnejsie porovnat. Ale tak toto je moja prvotna myslienka. Takze:
1.) Zorad pole;
2.) Hladaj NSD od najvacsich cisle, asi takto NSD(x_n, x_{n-1}).... NSD(x_n, x_{n-m})=o a o je viac ako x_l alebo tak nejako. Jednoducho vzdy zmensis mnozinu pokial mas hladat.
Mozno to vysvetlim na tvojom priklade:
mam pole prvku {1,2,3...,6}. Spocitam NSD(5,6)=1 takze idem so 6 iba po 2. 2. krok NSD(6,4)=2, takze zmenim pole iba po 2: skumam prvky iba od {2,...,6} . idem na NSD(3,6)=3; Zmenim pole od {3,4,5,6} a skumam len toto pole. Chapes vzdy skumas iba prvky kore su vacsie ako NSD lebo mensie a rovne ti nedaju vacsi vysledok. ;).