Данный отчёт сгенерирован 10.02.2023 18:21:31 UTC.
HTML версия (этот сайт) сгенерирован 10.02.2023 18:21:38 UTC.
Коммит: [bfeb65b9] add automatic zip creation 10.02.2023 18:21:31
HTML версия (этот сайт) сгенерирован 10.02.2023 18:21:38 UTC.
Коммит: [bfeb65b9] add automatic zip creation 10.02.2023 18:21:31
Задача: Інкремент Двійкового Числа
10.02.2023 18:21:31
Описание: Визначте функцію inc, яка одержує масив цифр двійкового числа (старші цифри зліва)
та повертає інший масив, що містить запис вихідного числа, збільшеного на 1.
(Операція інкремента не лише виробляє нове значення, а й змінює свій аргумент)
10.02.2023 18:21:31
Решений: 47
10.02.2023 18:21:31
Інкремент Двійкового Числа
10.02.2023 18:21:31
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
function inc(arr) {
let add = 1;
let i = arr.length - 1;
while (i >= 0 && add) {
if (arr[i]) {
arr[i] = 0;
} else {
arr[i] = 1;
add = 0;
}
i--;
}
if (add) {
arr.unshift(1);
}
return arr;
}
function inc(m)
{
for (let i = m.length-1; i >= 0; i--)
{
if (m[i] == 1)
m.splice(i, 1, 0);
else if (m[i] == 0)
{
m.splice(i, 1, 1);
return m;
}
}
m.splice(0, 0, 1);
return m;
}
function inc(binaryArray) {
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
function inc(m) {
let num=m.join('');
num=parseInt(num, 2);
num++;
num=num.toString(2);
for (i in num){
m[i]=Number(num[i]);
}
return m;
}
function inc(m) {
let arr = [];
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr);
return m;
}
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.length = 0;
for (let i of arr) {
m.push(i);
}
return m
}
function inc(m) {
for (let i=m.length; i>1; --i) {
if (m[i-1]==0) {m[i-1]=1; return m} else {m[i-1]=0}
}
if (m[0]!=0) {m.push(0)} else {m[0]=1}
return m
}
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
function inc(m) {
for (let i = m.length - 1; i > -1; i--) {
if (m[i] === 0) {
m[i] = 1;
return m;
}
m[i] = 0;
}
m.unshift(1);
return m;
}
function inc(m) {
m.reverse;
let i =0;
while(m[i] == 1&&i < m.length){
m[i] = 0;
i+=1;
}
m[i] = 1;
m.reverse();
return m;
}
function inc(m) {
for (let i = m.length - 1; i >= 0; i--){
if (!(m[i])){
m[i]++
return m;
} else{
m[i]=0
}
}
m.unshift(1)
return m
}
function inc(m) {
let num = m.join('');
let arr = [];
let s = xdigits(parseInt(num + 1, 2) + 1, m.length);
for(let i = 0; i < s.length; i++){
arr.push(parseInt(s.charAt(i)));
m[i] = arr[i];
}
return m;
}
function xdigits(n, len){
let string = "01";
let str = "";
while (n){
let a = n % 2;
str = string[a] + str;
n = (n - a) / 2;
}
str = str.substring(0, str.length - 1).padStart(len, '0');
return str;
}
function inc(m)
{
let num = m.join('')
num = parseInt(num, 2) + 1
num = num.toString(2)
for(i in num)
{
m[i] = Number(num[i])
}
return m
}
function inc(m) {
let num = m.join('');
num = parseInt(num, 2);
num++;
num = num.toString(2);
for(i in num){
m[i] = Number(num[i]);
}
return m;
}
function inc(m) {
m[m.length - 1]++
for (i = m.length - 1; i >= 0; i--) {
if (m[i] == 2 && i == 0) {
m[i] = 0
m.unshift(1)
}
if (m[i] == 2) {
m[i] = 0
m[i - 1]++
}
else {
return m
}
}
return m
}
function inc(binary) {
for (let i = binary.length - 1; i >= 0; i--) {
if (binary[i] === 0) {
binary[i] = 1;
return binary;
} else {
binary[i] = 0;
}
}
binary.unshift(1);
return binary;
}
function inc(m){
for(let i=m.length-1;i+1;--i){
if(!m[i]){m[i]=1;break}else m[i]=0
if(!i) m.unshift(1)
}
return m
}
function inc(m) {
m[m.length-1] += 1;
for (let i=m.length-1; i>=0; i--) {
if (m[0] === 2) {
m.unshift(0)
m[1] = 0
m[0] = 1
}
if (m[i] === 2) {
m[i] = 0;
m[i-1] += 1;
}
}
return m
}
function inc(binaryArray) {
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
function inc(m) {
if(m.includes(0)){
for (let i = m.length - 1; i >= 0; i--) {
if(m[i] == 0){
m[i] = 1;
for (let j = m.length - 1; j > i; j--) {
m[j] = 0;
}
break;
}
}
}else{
m.fill(0);
m.unshift(1);
}
return m;
}
function inc(source) {
if (source.length === 0) {
source.push(1);
return source.concat();
}
let p = 1;
for (i = source.length - 1; i >= 0 && p; --i) {
if (source[i] === 1) {
source[i] = 0;
} else {
source[i] = 1;
p = 0;
}
}
if (p === 1) {
source.unshift(1);
return source.concat();
}
return source.concat();
}
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
function inc(m) {
n = 0;
for(let el in m){
n += m[el]*(2**(m.length-el-1));
}
n++;
for(let i = 0; n; i++, n=(n - n%2)/2){
console.log(n%2)
m[i] = n%2;
}
return m.reverse();
}
function inc(m) {
for(let i = m.length-1;i>=0;i--)
{
if(m[i]==1)
{
m[i]=0;
}
else
{
m[i]=1;
break;
}
if(i==0)
{
let u = m.length;
m[0]=1;
for(let q = 1; q<= u;q++)
{
m[q]=0;
}
break;
}
}
return m;
}
function inc(m) {
let arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m, arr);
return m;
}
function inc(digits) {
let carry = 1;
for (let i = digits.length - 1; i >= 0; i--) {
digits[i] += carry;
if (digits[i] <= 1) {
carry = 0;
break;
}
digits[i] = 0;
carry = 1;
}
if (carry === 1) {
digits.unshift(1);
}
return digits;
}
function inc(binaryArray) {
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
function inc(m) {
for(let i=m.length-1; i>=0; i--){
if(m[i]==1){
m[i]=0;
}
else if(m[i]==0){
m[i]=1;
break;
}
if(i == 0){
m.unshift(1);
}
}
return m;
}
function inc(m) {
mStr = m.join("");
mNum = (parseInt(mStr, 2) + 1).toString(2).split("").map(Number);
while (m.length != 0) m.pop();
for (let i in mNum) m.push(mNum[i]);
return mNum;
}
function inc(m) {
if(m.lastIndexOf(0) == -1){
for(let i = 1; i < m.length; i++){
m[i] = 0
}
m.push(0)
return m
}
if(m.lastIndexOf(0) < m.lastIndexOf(1)){
let last = m.lastIndexOf(0)
for(let i = last;i < m.length;i++){
m[i] = 0
}
m[last] = 1
return m
}
m[m.lastIndexOf(0)] = 1
return m
}
function inc(m) {
let c = true;
m.reverse();
for(let i in m) {
if(c) {
m[i] += 1;
c = (m[i] > 1) ? true : false;
if(c) {
m[i] = 0;
}
}
}
if(c)
m.push(1);
m.reverse();
return m;
}
function inc(m) {
let arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr);
return m;
}
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
function inc(arr) {
let i = arr.length - 1;
while (i >= 0) {
if (arr[i] === 0) {
arr[i] = 1;
return arr;
} else {
arr[i] = 0;
i--;
}
}
arr.unshift(1);
return arr;
}
function inc(m) {
}
function inc(m) {
let a = 1;
for (let i = m.length - 1; i >= 0; i--) {
if (a === 0) break;
let num = m[i];
m[i] = !num + 0;
a = num;
}
if (a === 1) m.unshift(1);
return m;
}
function inc(m) {
let arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number)
m.splice(0).push.apply(m, arr)
return m
}
function inc(m) {
let dec = 0;
for (let i = 0; i < m.length; i++) {
dec += m[i] * Math.pow(2, m.length - i - 1)
}
dec++;
let bin = dec.toString(2).split("");
for (let i = 0; i < bin.length; i++) {
m[i] = parseInt(bin[i]);
}
return m;
}
function inc(m) {
m.reverse();
let i = 0;
while(m[i] == 1 && i < m.length) {
m[i] = 0;
i += 1;
}
m[i] = 1;
m.reverse();
return m;
}
function inc(binaryArray) {
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr);
return m;
}
function inc(m) {
for(let i = m.length-1; i >= -1; i--){
if(i == -1){
m.unshift(1);
break;
}
if(m[i] == 0){
m[i] = 1 ;
break;
}else{
m[i] = 0;
}
}
return m;
}
function inc(m) {
n = m
n = parseInt(n.join(''),2)
n+=1
bin = n.toString(2).split('')
for(let i = 0; i< bin.length; i++){
m[i] = parseInt(bin[i])
}
return m
}
function inc(m) {
let num = 0;
m.reverse();
for (let i = 0; i num+=m[i]*Math.pow(2, i);
}
num++;
for (let i = 0; num>0; i++){
m[i] = num % 2;
num = (num - m[i])/2;
}
m.reverse();
return (m);
}
function inc(m) {
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
function inc(m) {
let un = true;
for (let i = m.length-1; i >=0; i--) {
if (m[i] == 0) {
un = false;
m[i] = 1;
break;
}
else {
m[i] = 0;
}
}
if (un) m.unshift(1);
return m;
}
function inc(m) {
for(let i=m.length-1;i>=0;i--){
if(!(m[i])){
m[i]++
return m
}else{
m[i]=0
}
}
m.unshift(1)
return m
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
let add = 1;
let i = arr.length - 1;
while (i >= 0 && add) {
if (arr[i]) {
arr[i] = 0;
} else {
arr[i] = 1;
add = 0;
}
i--;
}
if (add) {
arr.unshift(1);
}
return arr;
}
{
for (let i = m.length-1; i >= 0; i--)
{
if (m[i] == 1)
m.splice(i, 1, 0);
else if (m[i] == 0)
{
m.splice(i, 1, 1);
return m;
}
}
m.splice(0, 0, 1);
return m;
}
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
let num=m.join('');
num=parseInt(num, 2);
num++;
num=num.toString(2);
for (i in num){
m[i]=Number(num[i]);
}
return m;
}
let arr = [];
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr);
return m;
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.length = 0;
for (let i of arr) {
m.push(i);
}
return m
}
for (let i=m.length; i>1; --i) {
if (m[i-1]==0) {m[i-1]=1; return m} else {m[i-1]=0}
}
if (m[0]!=0) {m.push(0)} else {m[0]=1}
return m
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
for (let i = m.length - 1; i > -1; i--) {
if (m[i] === 0) {
m[i] = 1;
return m;
}
m[i] = 0;
}
m.unshift(1);
return m;
}
m.reverse;
let i =0;
while(m[i] == 1&&i < m.length){
m[i] = 0;
i+=1;
}
m[i] = 1;
m.reverse();
return m;
}
for (let i = m.length - 1; i >= 0; i--){
if (!(m[i])){
m[i]++
return m;
} else{
m[i]=0
}
}
m.unshift(1)
return m
}
let num = m.join('');
let arr = [];
let s = xdigits(parseInt(num + 1, 2) + 1, m.length);
for(let i = 0; i < s.length; i++){
arr.push(parseInt(s.charAt(i)));
m[i] = arr[i];
}
return m;
}
function xdigits(n, len){
let string = "01";
let str = "";
while (n){
let a = n % 2;
str = string[a] + str;
n = (n - a) / 2;
}
str = str.substring(0, str.length - 1).padStart(len, '0');
return str;
}
{
let num = m.join('')
num = parseInt(num, 2) + 1
num = num.toString(2)
for(i in num)
{
m[i] = Number(num[i])
}
return m
}
let num = m.join('');
num = parseInt(num, 2);
num++;
num = num.toString(2);
for(i in num){
m[i] = Number(num[i]);
}
return m;
}
m[m.length - 1]++
for (i = m.length - 1; i >= 0; i--) {
if (m[i] == 2 && i == 0) {
m[i] = 0
m.unshift(1)
}
if (m[i] == 2) {
m[i] = 0
m[i - 1]++
}
else {
return m
}
}
return m
}
for (let i = binary.length - 1; i >= 0; i--) {
if (binary[i] === 0) {
binary[i] = 1;
return binary;
} else {
binary[i] = 0;
}
}
binary.unshift(1);
return binary;
}
for(let i=m.length-1;i+1;--i){
if(!m[i]){m[i]=1;break}else m[i]=0
if(!i) m.unshift(1)
}
return m
}
m[m.length-1] += 1;
for (let i=m.length-1; i>=0; i--) {
if (m[0] === 2) {
m.unshift(0)
m[1] = 0
m[0] = 1
}
if (m[i] === 2) {
m[i] = 0;
m[i-1] += 1;
}
}
return m
}
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
if(m.includes(0)){
for (let i = m.length - 1; i >= 0; i--) {
if(m[i] == 0){
m[i] = 1;
for (let j = m.length - 1; j > i; j--) {
m[j] = 0;
}
break;
}
}
}else{
m.fill(0);
m.unshift(1);
}
return m;
}
if (source.length === 0) {
source.push(1);
return source.concat();
}
let p = 1;
for (i = source.length - 1; i >= 0 && p; --i) {
if (source[i] === 1) {
source[i] = 0;
} else {
source[i] = 1;
p = 0;
}
}
if (p === 1) {
source.unshift(1);
return source.concat();
}
return source.concat();
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
n = 0;
for(let el in m){
n += m[el]*(2**(m.length-el-1));
}
n++;
for(let i = 0; n; i++, n=(n - n%2)/2){
console.log(n%2)
m[i] = n%2;
}
return m.reverse();
}
for(let i = m.length-1;i>=0;i--)
{
if(m[i]==1)
{
m[i]=0;
}
else
{
m[i]=1;
break;
}
if(i==0)
{
let u = m.length;
m[0]=1;
for(let q = 1; q<= u;q++)
{
m[q]=0;
}
break;
}
}
return m;
}
let arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m, arr);
return m;
}
let carry = 1;
for (let i = digits.length - 1; i >= 0; i--) {
digits[i] += carry;
if (digits[i] <= 1) {
carry = 0;
break;
}
digits[i] = 0;
carry = 1;
}
if (carry === 1) {
digits.unshift(1);
}
return digits;
}
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
for(let i=m.length-1; i>=0; i--){
if(m[i]==1){
m[i]=0;
}
else if(m[i]==0){
m[i]=1;
break;
}
if(i == 0){
m.unshift(1);
}
}
return m;
}
mStr = m.join("");
mNum = (parseInt(mStr, 2) + 1).toString(2).split("").map(Number);
while (m.length != 0) m.pop();
for (let i in mNum) m.push(mNum[i]);
return mNum;
}
if(m.lastIndexOf(0) == -1){
for(let i = 1; i < m.length; i++){
m[i] = 0
}
m.push(0)
return m
}
if(m.lastIndexOf(0) < m.lastIndexOf(1)){
let last = m.lastIndexOf(0)
for(let i = last;i < m.length;i++){
m[i] = 0
}
m[last] = 1
return m
}
m[m.lastIndexOf(0)] = 1
return m
}
let c = true;
m.reverse();
for(let i in m) {
if(c) {
m[i] += 1;
c = (m[i] > 1) ? true : false;
if(c) {
m[i] = 0;
}
}
}
if(c)
m.push(1);
m.reverse();
return m;
}
let arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr);
return m;
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
let i = arr.length - 1;
while (i >= 0) {
if (arr[i] === 0) {
arr[i] = 1;
return arr;
} else {
arr[i] = 0;
i--;
}
}
arr.unshift(1);
return arr;
}
}
function inc(m) {
let a = 1;
for (let i = m.length - 1; i >= 0; i--) {
if (a === 0) break;
let num = m[i];
m[i] = !num + 0;
a = num;
}
if (a === 1) m.unshift(1);
return m;
}
let arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number)
m.splice(0).push.apply(m, arr)
return m
}
let dec = 0;
for (let i = 0; i < m.length; i++) {
dec += m[i] * Math.pow(2, m.length - i - 1)
}
dec++;
let bin = dec.toString(2).split("");
for (let i = 0; i < bin.length; i++) {
m[i] = parseInt(bin[i]);
}
return m;
}
m.reverse();
let i = 0;
while(m[i] == 1 && i < m.length) {
m[i] = 0;
i += 1;
}
m[i] = 1;
m.reverse();
return m;
}
let carry = 1;
for (let i = binaryArray.length - 1; i >= 0; i--) {
if (carry === 0) break;
let digit = binaryArray[i];
binaryArray[i] = !digit + 0;
carry = digit;
}
if (carry === 1) binaryArray.unshift(1);
return binaryArray;
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr);
return m;
}
for(let i = m.length-1; i >= -1; i--){
if(i == -1){
m.unshift(1);
break;
}
if(m[i] == 0){
m[i] = 1 ;
break;
}else{
m[i] = 0;
}
}
return m;
}
n = m
n = parseInt(n.join(''),2)
n+=1
bin = n.toString(2).split('')
for(let i = 0; i< bin.length; i++){
m[i] = parseInt(bin[i])
}
return m
}
let num = 0;
m.reverse();
for (let i = 0; i
}
num++;
for (let i = 0; num>0; i++){
m[i] = num % 2;
num = (num - m[i])/2;
}
m.reverse();
return (m);
}
arr = (parseInt(m.join(''), 2) + 1).toString(2).split('').map(Number);
m.splice(0).push.apply(m,arr)
return m
}
let un = true;
for (let i = m.length-1; i >=0; i--) {
if (m[i] == 0) {
un = false;
m[i] = 1;
break;
}
else {
m[i] = 0;
}
}
if (un) m.unshift(1);
return m;
}
for(let i=m.length-1;i>=0;i--){
if(!(m[i])){
m[i]++
return m
}else{
m[i]=0
}
}
m.unshift(1)
return m
}