Данный отчёт сгенерирован 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
Описание: Визначте функцію parseInt(s, b), яка переводить рядок, що містить запис цілого числа, в число. Параметр b - основа системи числення (1 <= b <= 43), за замовчуванням b = 10. Для позначення цифр > 9 використовуйте українські малі літери: абвгґдеєжзиіїйклмнопрстуфхцчшщьюя. Приклад роботи parseInt("210", 3) => 21. 10.02.2023 18:21:31
Решений: 45 10.02.2023 18:21:31
Перетворення рядка в число 10.02.2023 18:21:31
 function parseInt(s, b=10){
    let res = 0
    let letters = 'абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'
    for (let i = 0; i < s.length; ++i){
        if (Number.isInteger(+s[i])) {res += +s[i] * Math.pow(b, s.length - i - 1)} 
        else res += res += (letters.indexOf(s[i]) + 10) * Math.pow(b, s.length - i - 1)
    }
    return res
}
 function parseInt(s, b=10){
    let symbols = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя"
    let num = 0;
    let weight = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        num += weight * symbols.indexOf(s[i]);
        weight *= b;
    }
    return num;
}
 function parseInt(str, b=10)
{   
    let result=0;
    for(let i=str.length-1, counter=0; i >= 0; i--,counter++){
        if(str[i]>="а"){
            result +=(Number(str.charCodeAt(i))-1061)*(Number(b)**counter)   
        }
        else{
            result += Number(str[i])*(b**counter)   
        }
    }
    return result
}
 function parseInt(s, b=10){
    let box = 0; let d = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    s = s.split('').reverse(); d.split('');
    if(b<=9){
        for(let i in s){
            box+=(s[i]*b**i);
        }
    }
    if(b==10){
        return s.reverse().join('');
    }else if(b>10){
        for(let i in s){
            if(d.indexOf(s[i])>=0){ 
                console.log(d.indexOf(s[i]));
                s[i]=+d.indexOf(s[i])+10; 
            };
            box+=(s[i]*b**i);
        }
        
    }
    return box
}
 function parseInt(str, b = 10){
    let obj = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'а': 10,'б': 11,'в': 12,'г': 13,'ґ': 14,'д': 15,'е': 16,'є': 17,'ж': 18,'з': 19,'и': 20,'і': 21,'ї': 22,'й': 23,'к': 24,'л': 25,'м': 26,'н': 27,'о': 28,'п': 29,'р': 30,'с': 31,'т': 32,'у': 33,'ф': 34,'х': 35,'ц': 36,'ч': 37,'ш': 38,'щ': 39,'ь': 40,'ю': 41,'я': 42}    
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        num += weight * obj[str[i]];
        weight *= b;
    }
    return num;
}
 function parseInt(s, b = 10){
    let arrS = s.split('').reverse()
    let liters = '123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let result = 0;
    for(let i = 0; i < arrS.length; i++){
        result += (liters.indexOf(arrS[i]) + 1) * (b ** i)
    }
    return result
}
 function parseInt(str, b = 10) {
    let alpha = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя"
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        num += weight * alpha.indexOf(str[i]);
        weight *= b;
    }
    return num;

}
 function parseInt(str, b = 10) {
    let string = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let result = 0;
    let m=1;
    for (let i = str.length - 1; i >= 0; i--) {
        result += m * string.indexOf(str[i]);
           m *= b;
    }
    return result;
}
 function parseInt(string, radix = 10) {
    let digits = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let number = 0;
    let weight = 1;
    for (let i = string.length - 1; i >= 0; i--) {
        number += weight * digits.indexOf(string[i]);
        weight *= radix;
    }
    return number;
}
 function parseInt(string, radix = 10) {
    let digits = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let number = 0;
    let weight = 1;
    for (let i = string.length - 1; i >= 0; i--) {
        number += weight * digits.indexOf(string[i]);
        weight *= radix;
    }
    return number;
}
 function parseInt(s, b = 10) {
    const specialNums = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let num = 0;
    let weight = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        const index = specialNums.indexOf(s[i]);
        const curNum = index == -1 ? s[i] : 10 + index;
        num += weight * curNum;
        weight *= b;
    }
    return num;
}
 function parseInt(str , b=10){
    let len = str.length;
    let power = 0;
    let num = 0;
 
    for (let i = len - 1; i >= 0; i--){
        num += val(str.charAt(i)) * Math.pow(b, power);
        power +=1;
    }
    return num;
}
function  val(c){
    let alph = ['0','1','2','3','4','5','6','7','8','9','а','б','в','г','ґ','д','е','є','ж','з','и','і','ї','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ь','ю','я'];
    for(let i=0; true; i++){
        if(c == alph[i]){
            return i;
        }
    }   
}
 function parseInt(str, b=10){
  let n = 0;
  let v = 1;
  let k = 'абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'
  let j
  for (let i = str.length - 1; i >= 0; i--) {
    j = str[i]
    console.log (j)
    if (k.includes(j)) j = k.indexOf(str[i])+10
    n += v * j;
    v *= b;
    }
  return n
}
 function parseInt(str, b = 10) {
    let base = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя"
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        num += weight * base.indexOf(str[i]);
        weight *= b;
    }
    return num;
}
 function parseInt(str, b = 10) {
    let string = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let result = 0;
    let m=1;
    for (let i = str.length - 1; i >= 0; i--) {
        result += m * string.indexOf(str[i]);
           m *= b;
    }
    return result;
}
 function parseInt(str, b=10)
{
    dict={}
    nums='0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'
    for(let i=0;i< nums.length;i++){
        dict[nums[i]]=i
    } 
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        num += weight * dict[str[i]];
        weight *= b;
    }
    return num;
}
 function parseInt(str, base = 10)
{
    let string = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
let res = 0, temp = 0;
for(let i = 0; i < str.length; i++)
res += string.indexOf(str[i]) * (base ** (str.length - i - 1));
return res;
}
 function parseInt(str,b=10){
    let obj = {0:'0',1:'1',2:'2',3:'3',4:'4',5:'5',6:'6',7:'7',8:'8',9:'9',10: 'а',11: 'б',12: 'в',13: 'г',14: 'ґ',15: 'д',16: 'е',17: 'є',18: 'ж',19: 'з',20: 'и',21: 'і',22: 'ї',23: 'й',24: 'к',25: 'л',26: 'м',27: 'н',28: 'о',29: 'п',30: 'р',31: 'с',32: 'т',33: 'у',34: 'ф',35: 'х',36: 'ц',37: 'ч',38: 'ш',39: 'щ',40: 'ь',41: 'ю',42: 'я'}
    let obj2 = {}
    Object.entries(obj).forEach(([key, value]) => {
        obj2[value] = key
      })
    let splittedStr = str.split('').reverse()
    let result = 0
    let counter = 0
    for(let i of splittedStr){
        result = result + (obj2[i]*(b**counter))
        counter++;
    }
    return result
}
 function parseInt(s, b=10)
{
    let pack = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'
    let num = 0
    let weight = 1
    for(let i=s.length-1; i>=0; i--)
    {
        num += weight * pack.indexOf(s[i])
        weight *= b
    }
    return num
}
 function parseInt(str, b=10){
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        if (!isNaN(str[i])) num += weight * str[i]; 
        else num += weight * ("абвгґдеєжзиіїйклмнопрстуфхцчшщьюя".indexOf(str[i])+10);
        weight *= b;
    }
    return num;
}
 function parseInt(s, b = 10) {
    const Nums = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let num = 0;
    let weight = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        const index = Nums.indexOf(s[i]);
        const cur = index == -1 ? s[i] : 10 + index;
        num += weight * cur;
        weight *= b;
    }
    return num;
}
 function parseInt(str, b = 10) {
    let string = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let result = 0;
    let m=1;
    for (let i = str.length - 1; i >= 0; i--) {
        result += m * string.indexOf(str[i]);
           m *= b;
    }
    return result;
}
 function parseInt(str, b = 10){
    if(b == 10){ return Number(str);}
    
   let check = str.split('').reverse();
    let sum = 0;
    let k = 1;
 for(let i = 0; i < check.length; i++){
    if((check[i].charCodeAt(0) > 1071)&&(check[i].charCodeAt(0) < 1104)){
        check[i] = check[i].charCodeAt(0) - 1061;
    }
    sum += check[i] * k;
    k *= b;
 }
 return sum;
   }
   
   console.log(parseInt("2в", 16));
 const CHAR_TO_NUMBER = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";

function parseInt(a, b = 10) {
    let v = 0;
    for(let c of a) {
        let p = CHAR_TO_NUMBER.indexOf(c);
        if(p != -1) {
            v = v * b + p;
        }
    }
    return v;
}
function parseInt(s, b=10) {
    let chars = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let n = 0;
    for (let i = 0; i < s.length; i++) {
        let x = s[s.length-1-i];
        if (isNaN(+x)) {
            x = chars.indexOf(x) - chars.indexOf("а") + 10;
        }
        n += (+x) * b ** i;
    }
    return n;
}
 function parseInt(str, base = 10)
{
    let string = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
let res = 0, temp = 0;
for(let i = 0; i < str.length; i++)
res += string.indexOf(str[i]) * (base ** (str.length - i - 1));
return res;
}
 function parseInt(s, b=10)
{
    let arr = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя".split('');
    s = s.split("");
    let str16 = [];
    n = 10;
    for (let j = 0; j < arr.length; j++) {
        str16[j] = "" + n;
        n++;
    }
    if (b >= 1 && b <= 43){
        let num = 0;
        let weight = 1;
        for (let i = s.length - 1; i >= 0; i--) {
            for (let k = 0; k < str16.length; k++) {
                if (arr.includes(s[i])) {
                    s[i] = str16[arr.indexOf(s[i])];
                    break;
                }
            }
            num += weight * s[i];
            weight *= b;
        }
        return num;
    }
    else 
        return 0;
}
 function parseInt(s, b = 10) {
    let symbols = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let num = 0;
    let weight = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        num += weight * symbols.indexOf(s[i]);
        weight *= b;
    }
    return num;
}
 function parseInt(str, b = 10) {
    let alpha = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя"
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        num += weight * alpha.indexOf(str[i]);
        weight *= b;
    }
    return num;

}
 function parseInt(str3, b = 10) {
        let liter = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя"
        let arr = liter.split("")
        let res = 0;

        for (let i = 0; i < str3.length; i++) {
            for (let j = 0; j < arr.length; j++) {
                if (str3[i] == arr[j]) {
                    res+=j*(b**(str3.length-i-1))
                }
            }
        }
        return res
    }
 function parseInt(s, b=10) {
    let answ=0
    let p
    for (let i=0; i< s.length; ++i) {
        switch (s[--s.length-i]) {
            case "а":{p=10; break}
            case "б":{p=11; break}
            case "в":{p=12; break}
            case "г":{p=13; break}
            case "ґ":{p=14; break}
            case "д":{p=15; break}
            case "е":{p=16; break}
            case "є":{p=17; break}
            case "ж":{p=18; break}
            case "з":{p=19; break}
            case "и":{p=20; break}
            case "і":{p=21; break}
            case "ї":{p=22; break}
            case "й":{p=23; break}
            case "к":{p=24; break}
            case "л":{p=25; break}
            case "м":{p=26; break}
            case "н":{p=27; break}
            case "о":{p=28; break}
            case "п":{p=29; break}
            case "р":{p=30; break}
            case "с":{p=31; break}
            case "т":{p=32; break}
            case "у":{p=33; break}
            case "ф":{p=34; break}
            case "х":{p=35; break}
            case "ц":{p=36; break}
            case "ч":{p=37; break}
            case "ш":{p=38; break}
            case "щ":{p=39; break}
            case "ь":{p=40; break}
            case "ю":{p=41; break}
            case "я":{p=42; break}
            default:{p=s[--s.length-i]}
        }
        answ+=p*b**i
    }
    return answ
}
 function parseInt(string, radix = 10) {
    let digits = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let number = 0;
    let weight = 1;
    for (let i = string.length - 1; i >= 0; i--) {
        number += weight * digits.indexOf(string[i]);
        weight *= radix;
    }
    return number;
}
 function parseInt(x, b = 10) {
    let keys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'а', 'б', 'в',
    'г', 'ґ', 'д', 'е', 'є', 'ж', 'з', 'и', 'і', 'ї', 'й', 'к', 'л', 'м', 'н',
    'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ю', 'я']

    let result = 0;

    for (let i = 0; i < x.length; i++) result = result * b + keys.indexOf(x[i]);

    return result;
}
 function parseInt(s, b = 10) {
    let a = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let num = 0;
    let c = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        num += c * a.indexOf(s[i]);
        c *= b;
    }
    return num;
}
 function parseInt(s, b = 10) {
    const specialNums = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let num = 0;
    let weight = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        const index = specialNums.indexOf(s[i]);
        const curNum = index == -1 ? s[i] : 10 + index;
        num += weight * curNum;
        weight *= b;
    }
    return num;
}
 function parseInt(s, b = 10) {
    let res = 0;
    for (let i = s.length - 1, count = 0; i >= 0; i--, count++) {
        if (s[i] >= 'a') {
            res += (Number(s.charCodeAt(i)) - 1061) * (b ** count);
            continue;
        }
        res += Number(s[i]) * (b ** count);
    } 
    return res;
}
 function parseInt(str, b=10){
    let s = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let sum = 0;
    
    for (const elem in str) 
        sum += s.indexOf(str[elem])* (b ** (str.length - elem - 1));
    
    return sum;
}
 function parseInt(str, b=10) {
    let sum = 0;
    let alf = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    for (let i = str.length-1; i >= 0; i--) {
        let k = str.length - i - 1;
        sum += b**k * alf.indexOf(str[i]);
    }
    return sum;
}
 function parseInt(string, radix = 10) {
    let digits = '0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя';
    let number = 0;
    let weight = 1;
    for (let i = string.length - 1; i >= 0; i--) {
        number += weight * digits.indexOf(string[i]);
        weight *= radix;
    }
    return number;
}
 function parseInt(str, b=10)
{
    let arr = str.split("");
    let result = 0;
    for(let i = arr.length - 1; i >= 0; i--){
        let item;
        switch (arr[i]){
            case "а":
                item = 10;
                break;
            case "б":
                item = 11;
                break;
            case "в":
                item = 12;
                break;
            case "г":
                item = 13;
                break;
            case "ґ":
                item = 14;
                break;
            case "д":
                item = 15;
                break;
            case "е":
                item = 16;
                break;
            case "є":
                item = 17;
                break;
            case "ж":
                item = 18;
                break;
            case "з":
                item = 19;
                break;
            case "и":
                item = 20;
                break;
            case "і":
                item = 21;
                break;
            case "ї":
                item = 22;
                break;
            case "й":
                item = 23;
                break;
            case "к":
                item = 24;
                break;
            case "л":
                item = 25;
                break;
            case "м":
                item = 26;
                break;
            case "н":
                item = 27;
                break;
            case "о":
                item = 28;
                break;
            case "п":
                item = 29;
                break;
            case "р":
                item = 30;
                break;
            case "с":
                item = 31;
                break;
            case "т":
                item = 32;
                break;
            case "у":
                item = 33;
                break;
            case "ф":
                item = 34;
                break;
            case "х":
                item = 35;
                break;
            case "ц":
                item = 36;
                break;
            case "ч":
                item = 37;
                break;
            case "ш":
                item = 38;
                break;
            case "щ":
                item = 39;
                break;
            case "ь":
                item = 40;
                break;
            case "ю":
                item = 41;
                break;
            case "я":
                item = 42;
                break;
            default:
                item = Number(arr[i]);
        }
        result += Number(item)*(b**(arr.length - i - 1));
    }
    return result;
}
 function parseInt(s, b = 10) {

    let extraDigits = ["а", "б", "в", "г", "ґ", "д", "е", "є", "ж", "з", "и", "і", "ї", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ю", "я"];

    
    let result = 0;

    
    for (let i = s.length - 1; i >= 0; i--) {
        
        let c = s[i];

        
        if (c >= '0' && c <= '9') {
            result += (c - '0') * Math.pow(b, s.length - 1 - i);
        } 
        
        else if (extraDigits.includes(c)) {
            result += (extraDigits.indexOf(c) + 10) * Math.pow(b, s.length - 1 - i);
        } 
        
        else {
            return NaN;
        }
    }

    
    return result;
}
 function parseInt(s, b = 10) {
    let additonal = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let sum = 0;
    for (let i = 0; i < s.length; i++) {
        
        let x = s[s.length-1-i];
        
        if (isNaN(+x)) {
            x = additonal.indexOf(x) + 10;
        }
        
        sum += +x * b ** i;
    }
    return sum;
}
 function parseInt(s, b=10)
{
    let arr = 'абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'
    let dob = 1;
    let output = 0;
    for(let i = s.length-1;i>=0;i--)
    {
        if(Number(s[i])>=0&&Number(s[i])<=9)
        {
            console.log(Number(s[i]));
            output+=Number(s[i])*dob;
        }
        else
        {
            output+=(10+arr.indexOf(s[i]))*dob
        }
        dob*=b;
    }
    return output;
}
 function parseInt(str, b = 10)
{
    let table = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'а', 'б', 'в', 'г', 'ґ', 'д', 'е', 'є', 'ж', 'з', 'и', 'і', 'ї', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ю', 'я'];
    let num = 0;
    let weight = 1;
    for (let i = str.length - 1; i >= 0; i--) {
        num += weight * table.indexOf(str[i]);
        weight *= b;
    }
    return num;
}
 function parseInt(s, b = 10) {
    const specialNums = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
    let num = 0;
    let weight = 1;
    for (let i = s.length - 1; i >= 0; i--) {
        const index = specialNums.indexOf(s[i]);
        const curNum = index == -1 ? s[i] : 10 + index;
        num += weight * curNum;
        weight *= b;
    }
    return num;
}