Данный отчёт сгенерирован 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
Описание: Визначте функцію 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;
}
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
}
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;
}
{
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
}
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
}
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;
}
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
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
}
}
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
}
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;
}
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;
}
{
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;
}
{
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;
}
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
}
{
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
}
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;
}
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;
}
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;
}
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));
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;
}
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;
}
{
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;
}
{
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;
}
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;
}
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;
}
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
}
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
}
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;
}
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;
}
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;
}
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;
}
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;
}
let s = "0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
let sum = 0;
for (const elem in str)
sum += s.indexOf(str[elem])* (b ** (str.length - elem - 1));
return sum;
}
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;
}
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;
}
{
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;
}
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;
}
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;
}
{
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;
}
{
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;
}
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;
}