JSFiddle - React, Tailwind, and code Playground

by BDG

HTML

<button id="run" >- Run -</button>
<br/>
<textarea id="input" rows=15 cols=25>5
15 10 658931394179
92 37 304080438521
39 100 972826846685
24 89 306549054135
64 16 254854449271</textarea>

<textarea id="output" rows=15 cols=25></textarea>

<pre id="debug"></pre>

CSS

textarea {
    float: left;
    margin-right: 10px;
    overflow: auto;
}

JavaScript

//Main logic to find an awesome.
// 1<=g<=100         :: cost to build shield generator
// 1<=w<=100         :: cost to build warrior
// G+W <= M <=10^12  :: total money
// g = time
// w = damage

function awesome(g, w, m) {
    //m = g*n1 + w*n2 
    var n1 = (m-w*n2)/g;
    var n2 = (m-g*n1)/w;
    
    
    
    return g+w+m;
}











/*
*Parse each line
*/
function base(rows, data){
    for (i=0;i<rows;i++) {
        var temp = data[i].split(" ");
        var g = temp[0];
        var w = temp[1];
        var m = temp[2];
        out(awesome(g, w, m));
    }
}

/**
Below are maintenance functions
**/

function main(input){
    input = input.replace("\r", "");
    var data = input.split("\n");
    var items = data.shift();
    
    base(items, data);
    
}

function out(txt){
    $("#output").append(txt + "\n");
}

function deb(txt){
    $("#debug").append(txt + "\n");
}

$("#run").click(function () {
    main($("#input").val());
});