JSFiddle - React, Tailwind, and code Playground

by Midhun Darvin

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<label for="x">X :</label><input name="x" id="x" type="number" placeholder="X"><br>

<label for="y">Y :</label><input name="y" id="y" min="1" type="number" placeholder="Y"><br>

<label for="z">Z :</label><input name="z" id="z" min="1" type="number" placeholder="Z"><br>

<button id="showResultButton">Show Result</button><br/>

<div id="result"></div>

JavaScript

function FindMinimumTip(x, y, z){
	if(x == 0 && y != 0){
  	return "The minimum tip is "+(z%y);
  }else if(x != 0 && y == 0){
    return "The Minimum Tip is "+(z%x);
  }else if(x == 0 && y == 0){
  	return "Invalid Values";
  }
  	
  var a = Math.floor(z/x);
  var b = Math.floor(z/y);
  console.log("a : "+a);
  console.log("b : "+b);
  var found = false;
  var min;
  for(var i=0;i<=a+1;i++){
  	for(var j=0;j<=b+1;j++){
    	if((x*i+y*j) == z){
      	found = true;
        break;
      }else{
      	var temp = x*i+y*j; 
        
      	if(temp > z){
        	//console.log(i+" "+j);
        	console.log(temp);
        	if((temp - z) < min || typeof min == "undefined")
        		min = temp - z;
        }
      }
    }
    if(found)
    	break;
  }
  
  if(found){
    console.log("0");
    return "The Minimum tip is 0";
  }else{
  	console.log(min);
    return "The Minimum tip is "+min;
  }
}

$( document ).ready(function() {
    $("#showResultButton").click(function(){
    	var x = $("#x").val();
      var y = $("#y").val();
      var z = $("#z").val();
      if(x && y && z){
      	var result = FindMinimumTip(x,y,z);
        $("#result").text(result);
      }
    })
});