Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 산술 진행 시퀀스에서 누락된 숫자 찾기

<시간/>

산술 진행:

산술 진행(AP) 또는 산술 수열은 연속된 항 간의 차이가 일정하도록 하는 일련의 숫자입니다.

예를 들어, 시퀀스 5, 7, 9, 11, 13...

산술 진행의 요소를 순서대로 나타내는 배열이 있다고 가정합니다. 그러나 어떻게 든 진행에서 숫자 중 하나가 사라집니다. 이러한 배열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.

그런 다음 우리 함수는 한 번의 반복으로 시퀀스에서 누락된 숫자를 찾아 반환해야 합니다.

예를 들어 -

입력 배열이 -

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

그러면 출력은 다음과 같아야 합니다. -

const output = 25;

19와 31 사이에 25가 없기 때문에

예시

이에 대한 코드는 -

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));

출력

콘솔의 출력은 -

25