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

JavaScript의 Random7()에서 Random10() 함수 파생

<시간/>

문제

const random7 = () => Math.ceil(Math.random() * 7);

위의 뚱뚱한 화살표 함수가 있다고 가정합니다. 이 함수는 호출할 때마다 0(제외)에서 7(포함) 사이의 난수를 생성합니다.

인수를 사용하지 않고 JavaScript 라이브러리나 타사 라이브러리를 사용하지 않는 유사한 random10() JavaScript 함수를 작성해야 합니다. 그리고 이 random7() 함수만 사용하면 함수는 0(제외)에서 10(포함) 사이의 난수를 반환해야 합니다.

예시

이에 대한 코드는 -

const random7 = () => Math.ceil(Math.random() * 7);
const random10 = () => {
   let sum;
   for(let i = 0; i < 50; i++){
      sum += random7();
   }
   return (sum % 10) + 1;
};
console.log(random10());

코드 설명

여기에서는 rand7() 함수로 몇 개의 숫자(이 경우 50개, 그러나 숫자는 다를 수 있음)를 추가하여 가능한 한 균일한 임의의 합계를 생성하고 이 합계를 사용하여 기수 10의 숫자를 생성했습니다.

출력

콘솔의 출력은 -

NaN