Least Common Multiple

LCM

by grabantot

HTML

<FORM NAME="sci-calc" method="POST" id="sci-calc">

<button TYPE="button" ID="calc">CALC</button>
<input type="text" name="stuff[]" class="input-field" id="numbers" value="3 5 7"/>
<br>
LCM: <input type="text" name="stuff[]" class="input-field" id="result"/>

</FORM>

JavaScript

LCM = function(numbers) {
	console.log(numbers)	
  if (numbers.length < 2) return
 	first = numbers[0]
  second = numbers[1]
  var i = j = 1
  var mult1 = first * i++
  var mult2 = second * j++
	while (mult1 != mult2) {
  	if (mult1 < mult2)
    	mult1 = first * i++
    else
    	mult2 = second * j++
  }
 	if (numbers.length > 2) {
  	numbers[1] = mult1 //I hope you're fine with the fact that 'numbers' gets modified
  	mult1 = LCM(numbers.splice(1, numbers.length-1))
   }
	return mult1
}

$('#calc').click(function(){
	var numbers = document.getElementById("numbers").value.split(" ")
	var result = document.getElementById("result")
	result.value = LCM(numbers)
})