Так что мне нужно написать код, который умножает все натуральные числа в предоставленном пользователем интервале.
Код содержит тест, который a> b, но он работает только до b> = 10. Например, если (a == 8) и (b == 9), оператор работает правильно, но как только (a == 8) и (b> = 10), отображается предупреждение «Число a должно быть меньше числа b» (даже если 8 явно меньше 10).
А если input (a == 10) и (b == 8), то оператор выполняется, даже если явно не должен.
Я надеюсь, что кто-то может помочь мне найти ошибку в коде.
В коде есть текст на моем родном языке, но я перевел большую его часть на английский, поэтому не должно возникнуть проблем с его пониманием.
<!DOCTYPE html>
<html>
<head>
<title>Intervala reizinajums</title>
</head>
<body>
<form id="myForm">
<label for="int_a">Ievadi a: </label>
<input type="number" name="int_a" id="a" style="width: 30px">
<br>
<br>
<label for="int_b">Ievadi b: </label>
<input type="number" name="int_b" id="b" style="width: 30px">
<br>
<button type="submit" onclick=" return reizinajums()">OK</button>
<p id="para"></p>
</form>
<script type="text/javascript">
function reizinajums() {
var a = document.forms['myForm']['a'].value; //2
var b = document.forms['myForm']['b'].value; //4
var reiz = 1;
if (a<=0 && b<=0) {alert ('This interval doesn`t content any natural numbers');
return false;}
if (a>b) {
alert ('Number a has to be less than number b');
return false;
}
else { //(if a < b) Finds all natural numbers in interval and multiplies them
while(a<=b){
if (a<=0) {a=1;}
reiz = reiz * a;
a ++;
}
document.getElementById('para').innerHTML= 'Intervala '+document.forms['myForm']['a'].value+' - '+document.forms['myForm']['b'].value+' naturalo skaitlu reizinajums ir ' + reiz;
return false;
}
}
</script>
</body>
</html>