Данный отчёт сгенерирован 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
Задача: Трійкова симетрична система 10.02.2023 18:21:31
Описание: Объявить функцию setun(n), которая получает целое число n (n >= 0) и возвращает строку, содержащую запись числа в троичной симметричной системе счисления. Веса разрядов в этой системе являются степенями тройки, а цифры: i (означает -1), 0 и 1, например, 2 = 1i. Визначте функцію setun(n), яка отримує ціле число n (n >= 0) та повертає рядок, що містить запис числа у трійковій симетричній системі числення. Ваги розрядів у цій системі є ступенями трійки, а цифри: i (означає -1), 0 та 1, наприклад, 2 = 1i. 10.02.2023 18:21:31
Решений: 22 10.02.2023 18:21:31
Трійкова симетрична система 10.02.2023 18:21:31
 const DIGITS = "01i";
const BALANCED = [0, 1, -1];

function setun(n) {
    let d = [ ];
    while(n > 0) {
        d.push(DIGITS.charAt(n % 3));
        n = (n - BALANCED[n % 3]) / 3;
    }
    return d.reverse().join('');
}
 function setun(n){
    let res = [0]
    let check
    for (let i = 0; i < n; ++i){
        check = false
        for (let j = res.length - 1; j != -1; j--){
            if (res[j] == 'i'){
                res[j] = 0
                check = false
                break
            } else if (res[j] == 0){
                res[j] = 1
                check = false
                break
            } else {
                res[j] = 'i'
                check = true
            }
        }
        if (check) res.unshift(1)
    }
    return res.join('')
}
 function setun(x){
  let res=''
  while(x){
    let num=x%3 
    if(num===2){
      res='i'+res
      x=(x-num)/3+1
    }else{
      res=num+res 
      x=(x-num)/3
    }
  } 
  return res
}
 function setun(n){
    let str ="";
        while (n>0)
        {
            let m = n%3;
            b=m;
            if(m==2) 
            b='i';
            str = b + str;
            n = (n - m) / 3;
            if(m==2) 
            n+=1;
            
            
        }
        return str;
    }
 function setun(n) {
    var res = '';
    if(n === 0) return '0';
    while(n !== 0) {
        var r = n % 3;
        if(r === 0) res = '0' + res;
        else if(r === 1) res = '1' + res;
        else if(r === 2) res = 'i' + res;
        n = Math.floor((n+r)/3);
    }
    return res;
}
 function setun(n) {
    answ = "";
    while (n > 0) {
        let rem = n % 3;
        n = parseInt(n / 3);
        if (rem == 2) {
            rem = -1;
            n++;
        }
        answ = (rem == 0 ? "0" : rem == 1 ? "1" : "i") + answ;
    }
    return answ;
}
 function setun(n){
    let res = [];
    let last = n % 3;
    let dev = Math.floor(n / 3); 
    while(!(dev == 0 && last == 0)){
      if(last != 2){
        res.push(last)
      } else {
        res.push('i')
        dev = (dev + 1);
      } 
      last = dev % 3
      dev = Math.floor(dev/3);
    }
    return res.reverse().join('')
}
 function setun(n) {
    result = "";
    while (n > 0) {
        let dilnik = n % 3;
        n = parseInt(n / 3);
        if (dilnik == 2) {
            dilnik = -1;
            n++;
        }
        result = (dilnik == 0 ? "0" : dilnik == 1 ? "1" : "i") + result;
    }
    return result;
}
 function setun(n) {
    let result = n.toString(3).split("");
    for (let i = 0; i < result.length; i++) {
        result[i] = parseInt(result[i]);
    }
    for (let i = result.length - 1; i >= 0; i--) {
        if (result[i] == 2 || result[i] == 3) {
            if (i == 0) {
                let temp_result = [];
                for (let i = 0; i < result.length; i++) {
                    temp_result[i + 1] = result[i];
                }
                result = temp_result;
                result[0] = 1;
                result[i + 1] = (result[i + 1] == 3) ? 0 : 'i';
                return result.join("");
            } else {
                result[i - 1]++;
            }
            result[i] = (result[i] == 3) ? 0 : 'i';
        }
    }
    return result;
}
 function setun(n){
    let res = [];

    while(n>0){
        let tmp = n%3;
        n = Math.trunc(n/3);
        if(tmp==2){
            res.unshift('i');
            n+=1;
        }
        else{
            res.unshift(tmp.toString());
        }
    }
    
    return res.join('');
}
 function setun(n){
  let output ='';

  while (n > 0) {
     a = n % 3;
    n = parseInt(n / 3);

    if (a > 1) {
      output += 'i';
      n++;
    }
    else {
      output += a;
    }
  }

  return output.split('').reverse().join('');
}
 function setun (n) {
    let res = "";
    while (n) {
        let m = n % 3;
        if (m == 2) {
            res = "i" + res;
            n = (n + 1)/3;
        }
        else {
            res = m + res;
            n = (n - m)/3;
        }
    }
    return res;
}
 function setun(n){
    let str ="";
        for(;n>0;)
        {
            let a = n%3;
            q=a;
            if(a==2) q='i';
            str = q + str;
            n = (n - a) / 3;
            if(a==2) n+=1;
            
            
        }
        return str;
    }
 function setun(n) {
    let res = "";
    while(n > 0) {
        let x = n % 3;
        n = Math.round(n / 3);
        if(x == 2) {
            res = "i" + res;
        } else {
            res = x + res;
        }
    }
    return res;
}
 function setun(n){
   output =''

  while (n > 0) {
    a = n % 3;
    n = parseInt(n / 3);

    if (a > 1) {
      output += 'i';
      n++;
    }
    
    else {
      output += a;
    }
  }
  return output.split('').reverse().join('');
}
 function setun(n){ 
    const chars = ['0', '1', 'i'];
    let result = [];
    while (n > 0) {
        const rest = n % 3;
        result.unshift(chars[rest]);
        n = Math.trunc(n / 3);
        if (rest === 2) n++;
    }
    return result.join('');
}
 function setun(n)
{
   let result = ''
   while(n > 0)
   {
       let num = n % 3
       n = parseInt(n/3)
       if(num > 1)
       {
           result = result + 'i'
           n++
       }
       else
       {
           result = result + num
       }
   }
   return result.split('').reverse().join('')
}
 function setun(n){
    return xdigits(n);
}

function xdigits(n){ 
    let string = "01i";
    let  str = "";
    while (n){
        let a = n % 3;
        
        str = string[a] + str;    
        n = Math.floor(n / 3);
        
        if(a === 2) n++;
    }

    return str;
}
 function setun(n){ 
    const chars = ['0', '1', 'i'];
    let result = [];
    while (n > 0) {
        const rest = n % 3;
        result.unshift(chars[rest]);
        n = Math.trunc(n / 3);
        if (rest === 2) n++;
    }
    return result.join('');
}
function setun(n) {
    let res = "";
    while(n > 0) {
        let x = n % 3;
        n = Math.round(n / 3);
        if(x == 2) {
            res = "i" + res;
        } else {
            res = x + res;
        }
    }
    return res;
}
 function setun(n){ 
    const chars = ['0', '1', 'i'];
    let result = [];
    while (n > 0) {
        const rest = n % 3;
        result.unshift(chars[rest]);
        n = Math.trunc(n / 3);
        if (rest === 2) n++;
    }
    return result.join('');
}
 function setun(n){
    let res = "";
    while (n){
        let dif = n % 3;
        if (dif == 2){
            res = "i" + res;
            n = (n + 1)/3;
        }
        else{
            res = dif + res;
            n = (n - dif)/3;
        }
    }
    return (res);
}