자바스크립트로 풀어보는 수학

0

javascript

목록 보기
22/34
post-thumbnail

약수 소수 정수 등...헷갈려... 통채로 외워 버리쟈

앞으로 계속해서 이 게시물은 새로운 수학 공식을 접할 경우 업뎃됩니댜 ✌🏻

📍 약수
자신을 나눌 수 있는 수 이다.
모든 자연수는 1과 자기 자신을 약수로 가진다

function getFactors(num){// 약수모두 찾기 
	let result = [];
  for(let i = 0; i <= num; i++){
    if(num % i === 0){//0부터 num 까지 num을 나눌수 있는 수를 찾는다
      result.push(i);
    }
  }
  return result;
}

📍 소수
1과 자기 자신만 자신을 나눌 수 있는 수이다.

function isPrime(num){// 소수 인지 아닌지 판별
	let result = [];
  for(let i = 0; i <= num; i++){
    if(num % i === 0){//0부터 num 까지 num을 나눌수 있는 수를 찾는다
      result.push(i);
    }
  }
  if(result.length === 2){// 소수는 1과 자기 자신으로만 나눠지니깐
    return true;
  }
  return false;
}
function isPrime(num) {
  let sqrt = parseInt(Math.sqrt(num));
  if (num === 2) {//2는 무조건 소수
    return true;
  }
  if (num % 2 === 0) {//2로 나뉘면 소수 아님(짝수 빼기)
    return false;
  }
  for (let i = 3; i <= sqrt; i += 2) {//1,2,짝수제외
    if (num % i === 0) {
      return false;
    }
  }
  return true;
}

📍 피보나치
자신은 자신의 전의수와 자신의 전전의수를 합친수 이다.
0,1,1,2,3,5,8,13,21....

function fibonacci(num){
  let newarr =[];
  let num1 = 0;
  let num2 = 1;
  let sum ;
  for(let i = 0; i<= num; i++){
    if(i === 0){
      newarr.push(0);
    }else if(i === 1){
      newarr.push(1);
    }else{
    sum = num1 + num2;
    newarr.push(sum);
    num1 = num2;
    num2 = sum;
  }
  }
  return newarr;
}
    

📍 2의 거듭제곱인지 알아보기
2의 거듭제곱이라는건 2부터 시작하여 앞 수에 2를 곱하여 이어가는 수이다.

function powerOfTwo(num){
   if(num === 1){
    return true;
  }
  let n = 2;
  while(n < num){
    n = n * 2 ;
  }
  if(n === num){ // 2를 num보다 작을때 까지 곱하다가 num이랑 같아 지면 num은 2의 거듭제곱이다.
    return true;
  }else{
    return false;
  }
}
  

📍 제곱근 구하기 (알고리즘적으로)
a숫자를 두번 곱해서 b가 나오면 a는 b의 제곱근입니다.
ex ) a*a = b

function computeSquareRoot(num) {
  const decimalPlaces = 2; // 소수점 몇자리 까지 나타낼것인지
  const divider = 10 ** decimalPlaces;
  num *= 100 ** decimalPlaces;
  num = num / 2;
  let i = 1;
  while (num - i > 0) {
    num -= i;
    i++;
  }
  return i / divider;
}

제곱근을 구할려는 수에 1부터 오름차순으로 빼준다.
그러다 음수가 나와 더이상 뺄 수 없을때 앞에서 나온수와 빼야 하는 수를 비교 해봅니다.
예를 들어 봅시다.
36의 제곱근을 구해 봅시다.
36 / 2 = 18
18 - 1 = 17
17 - 2 = 15
15 - 3 = 12
12 - 4 = 8
8 - 5 = 3 여기서 끝 !! 결과값 3의 두배 = 6
3 - 6 = -3 빼야하는 수 = 6
전의 결과값의 두배 6과 빼야 하는 수 6이 같습니다. 그래서 제곱근 6

profile
👩🏻‍💻항상발전하자 🔥

0개의 댓글