Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm số còn thiếu trong một chuỗi cấp số cộng trong JavaScript

Tiến trình số học:

Cấp số cộng (AP) hay dãy số học là một dãy số sao cho hiệu giữa các số hạng liên tiếp là không đổi.

Ví dụ:chuỗi 5, 7, 9, 11, 13 ...

Giả sử chúng ta có một mảng biểu diễn các phần tử của cấp số cộng theo thứ tự. Nhưng bằng cách nào đó, một trong những con số từ tiến trình bị mất tích. Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng như vậy làm đối số đầu tiên và duy nhất.

Sau đó, hàm của chúng ta, trong một lần lặp, sẽ tìm và trả về số bị thiếu trong chuỗi.

Ví dụ -

Nếu mảng đầu vào là -

const arr = [7, 13, 19, 31, 37, 43];

Sau đó, đầu ra phải là -

const output = 25;

vì 25 thiếu từ 19 đến 31

Ví dụ

Mã cho điều này sẽ là -

const arr = [7, 13, 19, 31, 37, 43];
const findMissingNumber = (arr = []) => {
   let {length} = arr;
   let diff1 = arr[1] - arr[0];
   let diff2 = arr[length - 1] - arr[length - 2];
   if (diff1 !== diff2) {
      if (diff1 == 2 * diff2){
         return arr[0] + diff2;
      }else{
         return arr[length - 1] - diff1;
      };
   };
   for (let i = 1; i < length - 2; i++){
      if (arr[i + 1] - arr[i] != diff1){
         return arr[i] + diff1;
      };
   };
   return arr[0];
};
console.log(findMissingNumber(arr));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

25