Untitled
unknown
plain_text
9 months ago
5.5 kB
6
Indexable
<noscript>
<style>
.outer {display: none}
</style>
<div class="b c" style="background:mistyrose;color:brown;font-size:24px;border-radius:4px;margin:10px 0">
Google ID <strong>rbisir1</strong>
</div>
</noscript>
<div class="b c outer">
<div class="b c">
<h1><strong>[RBISIR]FACTORISES</strong></h1></div>
<div class="b c output" id=out_fac>[RBISIR]OUTPUTS</div>
<div class="b c input">
<div class="b c">
<p class="b c">INSERT INTEGERS[RBISIR]</p>
<input type=number max=9999999999 min=-9999999999 step=1 class="b c inp" id=inp_int placeholder="TYPE NUMBER[RBISIR]" title="Type the input here">
</div>
</div>
</div>
<style>
body {
background: #888;
color: #fff;
}
.b,
.inp {
padding: 0;
margin: 0;
box-sizing: border-box;
font-family: consolas, monaco, menlo, courier, monospace;
font-size: 16px;
color: #000;
}
.c {
text-align: center;
margin: auto;
}
.c > h1 {}
.outer {
padding: 10px;
}
.input,
.output {
padding: 10px;
background: #ccc;
box-shadow: 1px 1px 2px #222 inset;
margin: 10px 0;
}
.inp {
padding: 10px;
width: 360px;
max-width: 100%;
background: lemonchiffon;
margin-top: 10px;
}
.inp,
.input,
.output {
border-radius: 5px;
}
.inp:focus {
background: ghostwhite;
outline: 0;
}
.pres,
.err {
font-size: 20px;
}
.err {
color: brown;
}
</style>
<script>
(function run(z) {
"use strict";
function getFactors(a) {
var primeTest = function (b) {
var limit = Math.floor(Math.sqrt(b));
var mod = 2;
var primeOrNot = 1;
while (mod <= limit) {
if (b % mod === 0) {
primeOrNot = 0;
break;
}
mod += 1;
}
return primeOrNot;
};
// -----------------------------------------------
var ne = function (c) { // to convert positive to negative
return (-1 * c);
};
// -----------------------------------------------
var checkElm = function (d, e) {
var k = 0;
var l = e.length;
var r = 1;
while (k < l) {
if (e[k][0] === d[1] && e[k][1] === d[0]) {
r = 0;
break;
}
k += 1;
}
return r;
};
// -----------------------------------------------
var result = [];
var i;
var div;
var buff;
// -----------------------------------------------
var sign = 0; // negative flag
var resultSign = [];
var buffSign;
// -----------------------------------------------
if (typeof a === "number" && a % 1 === 0 && a !== 0 && a < 1e9) {
if (a < 0) {
sign = 1;
a = Math.abs(a);
}
if (primeTest(a)) {
if (!sign) {
result = [[1, a], [ne(1), ne(a)]];
} else {
if (a !== 1) {
result = [[ne(1), a], [ne(a), 1]];
} else {
result = [[-1, 1]];
}
}
} else {
i = a;
while (i > 0) {
if (a % i === 0) {
div = a / i;
if (!sign) {
buff = [div, i];
buffSign = [ne(div), ne(i)];
if (i < a) {
if (checkElm(buff, result)) {
result.push(buff);
}
if (checkElm(buffSign, resultSign)) {
resultSign.push(buffSign);
}
} else {
result.push(buff);
resultSign.push(buffSign);
}
} else {
resultSign.push([ne(div), i]);
}
}
i -= 1;
}
if (sign) {
result = resultSign;
} else {
result = result.concat(resultSign);
}
}
}
// -----------------------------------------------
return result;
}
// -----------------------------------------------
// INTERFACE CONTROLLER
function calculate(a, b) {
var v = a.value;
var o;
var res;
if (/-?[0-9]+/.test(v)) {
o = getFactors(Number(v));
res = "";
if (o.length) {
o.forEach(function (va) {
res += "<p class='pres'>" + va[0] + " × " + va[1] + "</p>";
});
b.innerHTML = res;
} else {
b.innerHTML = "<p class='err'>INPUT NON-ZERO[RBISIR]</p>";
}
} else {
b.innerHTML = "OUTPUT";
}
}
var g = function (a) {
return z.getElementById(a);
};
var inp = g("inp_int");
var out = g("out_fac");
inp.oninput = function () {
calculate(inp, out);
};
}(document));
</script>Editor is loading...
Leave a Comment