Liczenie NWD dla elementów tablicy- algorytm Euklidesa

0

Cześć, startuje z js i męczę się nad pisaniem fragmentu większego kodu. Otóż chciałbym policzyć NWD dla każdej pary elementów z dwóch tablic. Tj. każdemu elementowi z tablicy A przyporządkować każdy element z tablicy B i dla pary otrzymać NWD. Dla przykładu poniżej wynikiem powinno być 16 elementów i tak jest w istocie, jednak wartości są złe. Wygląda na to jakby A[i] był nadpisywany przez wyliczoną wartość... i nie rozumiem dlaczego. Czy ktoś byłby w stanie pomóc, coś doradzić?

var n = 4;
var A = [2, 5, 6, 7];
var B = [4, 9, 10, 12];
for (var i = 0; i < n; i++) {
  for (var j = 0; j < n; j++) {
    while (A[i] != B[j]) {
      if (A[i] < B[j]) {
        B[j] = B[j] - A[i];
      }
 else {
        A[i] = A[i] - B[j];
      }
    }
    console.log(A[i]);
  }
}
0

Troszeczkę zmieniłem Twój kod.

 	var first = [2, 5, 6, 7];
	var secend = [4, 9, 10, 12];

	for(var i = 0; i < first.length; i++) {
		while(first[i] != secend[i]) {
			if(first[i] > secend[i]) {
				first[i] -= secend[i];
			} else  {
				secend[i] -= first[i];
			}
		}
		console.log(first[i]);
	}

1 użytkowników online, w tym zalogowanych: 0, gości: 1