Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- function toDecimal(A) {
- var sum = 0;
- for (var i = 0; i < A.length; i++) {
- sum += A[i] * Math.pow(-2, i);
- }
- return sum;
- }
- function toBaseNeg2(d) {
- var a = [];
- while (d != 0) {
- var remainder = d % -2;
- var d = Math.ceil(d / -2);
- a.push(Math.abs(remainder));
- }
- return a;
- }
- function solution(A, B) {
- var d = toDecimal(A);
- return toBaseNeg2(-d);
- }
- console.log(toDecimal([1,0,0,1,1]) === 9);
- console.log(toDecimal([1,1,0,1]) === -9);
- console.log(toDecimal([1,0,0,1,1,1]) === -23);
- console.log(toDecimal([1,1,0,1,0,1,1]) === 23);
- console.log(JSON.stringify(toBaseNeg2(9)) == JSON.stringify([1,0,0,1,1]));
- console.log(JSON.stringify(toBaseNeg2(-9)) == JSON.stringify([1,1,0,1]));
- console.log(JSON.stringify(toBaseNeg2(-23)) == JSON.stringify([1,0,0,1,1,1]));
- console.log(JSON.stringify(toBaseNeg2(23)) == JSON.stringify([1,1,0,1,0,1,1]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement