Skip to content

Instantly share code, notes, and snippets.

@techiepriyansh
Last active April 18, 2021 10:48
Show Gist options
  • Save techiepriyansh/ad6db92e43a802af2f0ae4dd266db13d to your computer and use it in GitHub Desktop.
Save techiepriyansh/ad6db92e43a802af2f0ae4dd266db13d to your computer and use it in GitHub Desktop.
InfiniteCalculator
<script>
function multiply(a, b) {
if (a == "") {
a = "0";
}
if (b == "") {
b = "0";
}
let x = a.toString().split("").reverse();
let y = b.toString().split("").reverse();
let carry = 0;
let finalNumber = "";
for (let i = 0; i < x.length; i++) {
let number = "";
for (let j = 0; j < y.length; j++) {
let tempNumber = (Number.parseInt(x[i]) * Number.parseInt(y[j]) + carry).toString();
if (tempNumber.length == 1) {
number = tempNumber + number;
carry = 0;
} else if (tempNumber.length == 2) {
number = tempNumber[1] + number;
carry = Number.parseInt(tempNumber[0]);
}
tempNumber = "";
}
for (let p = 0; p < i; p++) {
number = number + "0";
}
if (carry != 0) {
number = carry.toString() + number;
}
carry = 0;
finalNumber = add(number, finalNumber);
number = "";
}
return finalNumber;
}
function add(a, b) {
if (a == "") {
a = "0";
}
if (b == "") {
b = "0";
}
let x = a.toString().split("").reverse();
let y = b.toString().split("").reverse();
if (x.length <= y.length) {
for (let i = x.length; i < y.length; i++) {
x.push("0");
}
} else if (x.length > y.length) {
for (let i = y.length; i < x.length; i++) {
y.push("0");
}
}
let number = "";
let carry = 0;
for (let i = 0; i < x.length; i++) {
let tempNumber = (Number.parseInt(x[i]) + Number.parseInt(y[i]) + carry).toString();
if (tempNumber.length == 1) {
number = tempNumber + number;
carry = 0;
} else if (tempNumber.length == 2) {
number = tempNumber[1] + number;
carry = Number.parseInt(tempNumber[0]);
}
tempNumber = "";
}
if (carry != 0) {
number = carry.toString() + number;
}
return number;
}
function power(x, n) {
if (x == "") {
x = "0";
}
if (n == "") {
n = "0";
}
let number = "1";
for (let i = 1; i <= Number.parseInt(n); i++) {
number = multiply(x, number);
}
return number;
}
let a = prompt("x");
let b = prompt("n");
alert(power(a, b));
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment