Study/Javascript

[javascript] 팩토리얼 계산 프로그램

seomj 2020. 6. 5. 02:12

<문제>

n 값을 입력하면 n!(n 팩토리얼) 결과를 계산해주는 함수를 포함한 자바스크립트 프로그램을 작성하시오 (재귀 함수 호출 방법 이용).

 

-소스코드

<!DOCTYPE html>
<html>
<head>
	<title> factorial </title>
</head>
<body>
	<script>
		function fac(n) {
			if (n == 1)
				return 1;
			else
				return n * fac(n - 1);
		}

		function test() {
			var num = document.forms["form1"];
			document.getElementById("result").innerHTML = num[0].value+ "! 계산 결과는"+fac(num[0].value) + "입니다.";
		}

	</script>

	<h1> N 팩토리얼 계산값을 입력하시오 </h1>
	<form id = "form1">
		<input type = "text" id = "number">
		<input type = "button" name = "btn" value = "N 팩토리얼 계산" onclick = "test()">
	</form>
	<span id = "result"></span>
</body>
</html>

 

-결과창

 

-설명

function fac(n)은 재귀함수를 호출하는 함수로 n에는 입력받은 숫자가 들어가며 if문을 통해 반복시켜 팩토리얼 값을 얻는다.

function test( )에서 document.forms["form1"]은 form1을 선택하는 것으로 그 값을 num 변수에 대입시킨다. 다음 문장에서는 id가 result인 값에 HTML로 접근을 할 것이고 num[0].value+ "! 계산 결과는"+fac(num[0].value) + "입니다." 를 출력시킨다. 

'Study > Javascript' 카테고리의 다른 글

[javascript] 동적테이블 생성  (1) 2020.06.26
[javascript] 2차원 구구단 프로그램  (2) 2020.06.05