#javascript
#javascript
Вопрос:
Я должен найти факториал числа, записанного во входных данных. У меня есть функция, но проблема в том, что сколько раз я нажимаю на кнопку, это будет * 2 число. Я не могу очистить значение ввода и .
Вот код.
Заранее благодарю вас!
let sum = 1;
function faktorial(){
let faktorial1 = inp1.value
for(let i = 1; i < faktorial1; i ){
sum *=i 1
}
tpel.innerHTML = sum
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" name="" id="inp1">
<!-- <input type="text" name="" id="inp2"> -->
<br>
<!-- <button onclick="show()">Print</button> -->
<button onclick="faktorial()">Faktorial</button>
<h1 id="tpel"></h1>
</body>
<script src="script.js"></script>
</html>
Ответ №1:
Вам нужно снова установить sum
значение 1, а также, если вам нужно удалить входное значение, вам нужно установить inp1.value
значение ""
. Проверьте приведенный ниже код.
let sum = 1;
function faktorial(){
let faktorial1 = inp1.value
for(let i = 1; i < faktorial1; i ){
sum *=i 1
}
tpel.innerHTML = sum
sum = 1;
inp1.value = "";
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" name="" id="inp1">
<!-- <input type="text" name="" id="inp2"> -->
<br>
<!-- <button onclick="show()">Print</button> -->
<button onclick="faktorial()">Faktorial</button>
<h1 id="tpel"></h1>
</body>
</html>
Ответ №2:
function faktorial(){
let sum = 1;
let faktorial1 = inp1.value
for(let i = 1; i < faktorial1; i ){
sum *=i 1
}
tpel.innerHTML = sum
sum = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" name="" id="inp1">
<!-- <input type="text" name="" id="inp2"> -->
<br>
<!-- <button onclick="show()">Print</button> -->
<button onclick="faktorial()">Faktorial</button>
<h1 id="tpel"></h1>
</body>
<script src="script.js"></script>
</html>
Ответ №3:
Вычисление факториала числа является типичным вариантом использования рекурсивной функции
function faktorial1() {
tpel.innerText = faktorial(inp1.value);
}
function faktorial(x) {
if (x == 0) {
return 1;
}
return x * faktorial(x - 1);
}
<input type="text" name="" id="inp1">
<button onclick="faktorial1()">Faktorial</button>
<h1 id="tpel"></h1>