조합 스크립트 (자바스크립트 코드)

조합 스크립트입니다. 해당 예제는 자바스크립트 코드로 작성하였습니다.

  <style>    
    .form-calc-beomsang {
      max-width: 400px;
      margin: 0 auto;
      padding: 20px;
      background-color: #fff;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    }
    .div-calc-beomsang {
      margin-bottom: 15px;
    }
    .div-calc-beomsang label {
      display: block;
      font-weight: bold;
      margin-bottom: 5px;
    }
    .div-calc-beomsang input {
      width: 100%;
      padding: 8px;
      border: 1px solid #ccc;
      border-radius: 4px;
      box-sizing: border-box;
    }
    .btn-calc-beomsang {
      display: block;
      width: 100%;
      padding: 10px;
      background-color: #4CAF50;
      color: white;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      font-size: 16px;
      transition: background-color 0.3s;
    }
    .btn-calc-beomsang:hover {
      background-color: #45a049;
    }
    .result-beomsang {
      margin-top: 15px;
      font-weight: bold;
    }
  </style>
<form class="form-calc-beomsang" onsubmit="event.preventDefault()">
    <div class="div-calc-beomsang">
      <label for="n-input-beomsang">n의 값:</label>
      <input type="number" id="n-input-beomsang" min="0">
    </div>
    <div class="div-calc-beomsang">
      <label for="r-input-beomsang">r의 값:</label>
      <input type="number" id="r-input-beomsang" min="0">
    </div>
    <button class="btn-calc-beomsang" onclick="calculateCombinationBeomsang()">계산하기</button>
    <div class="result-beomsang" id="result-beomsang"></div>
  </form>

  <script>
    function calculateCombinationBeomsang() {
      var n = parseInt(document.getElementById('n-input-beomsang').value);
      var r = parseInt(document.getElementById('r-input-beomsang').value);

      // n과 r이 유효한 숫자인지 확인
      if (isNaN(n) || isNaN(r) || n < 0 || r < 0) {
        document.getElementById('result-beomsang').textContent = '유효한 n과 r 값을 입력해주세요.';
        return;
      }

      // 조합 계산
      var result = calculateCombinationFormulaBeomsang(n, r);

      // 결과 표시
      document.getElementById('result-beomsang').textContent = '결과: ' + result;
    }

    function calculateCombinationFormulaBeomsang(n, r) {
      // 팩토리얼 계산
      function factorial(num) {
        if (num === 0 || num === 1) {
          return 1;
        } else {
          return num * factorial(num - 1);
        }
      }

      // 조합 계산
      if (r > n) {
        return 0;
      } else {
        return factorial(n) / (factorial(r) * factorial(n - r));
      }
    }
  </script>
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗