Данный отчёт сгенерирован 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
Описание: Визначте функцію xdigits(n), яка одержує ціле число n (n >= 0)
і повертає масив шістнадцяткових цифр. У ролі цифр виступають рядки '1' '2'...'9', 'A', ...'F'.
Молодші розряди мають стояти наприкінці масиву.
10.02.2023 18:21:31
Решений: 41
10.02.2023 18:21:31
Масив Шістнадцяткових Цифр
10.02.2023 18:21:31
const pseudoDigits = '0123456789ABCDEF'.split('');
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
function xdigits(n){
let arr = [];
let N, S;
while(n>0){
N = n / 16;
N = parseInt(N)
S = n - N*16;
arr.unshift(S)
n = N;
}
console.log(arr)
for(i = 0; i < arr.length; ++i)
{
switch (arr[i]){
case 15:{
arr[i] = 'F';
break;
}
case 14:{
arr[i] = 'E';
break;
}
case 13:{
arr[i] = 'D';
break;
}
case 12:{
arr[i] = 'C';
break;
}
case 11:{
arr[i] = 'B';
break;
}
case 10:{
arr[i] = 'A';
break;
}
default:{
continue;
}
}
}
return arr
}
const pseudoDigits = '0123456789ABCDEF'.split('');
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
function xdigits(n){
const symbols = '0123456789ABCDEF'
let res = []
while (n){
res.unshift(symbols[n % 16])
n = (n - n % 16)/16
}
return res
}
function xdigits(x) {
let num="0123456789ABCDEF";
let str="";
while(x)
{
let i=x%16;
str=num[i]+str;
x=(x-i)/16;
}
return str;
}
function xdigits(n){
let res = [];
let b = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
while (n){
let a = n % 16;
res.unshift(b[a]);
n=(n-a)/16;
}
return (res);
}
function xdigits(n) {
let result = [];
let str = "0123456789ABCDEF";
while (n) {
result.push(str[n%16])
n = Math.floor(n/16)
}
return result.reverse()
}
const pseudoDigits = '0123456789ABCDEF'.split('');
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
function xdigits(n){
let a = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
let result = [];
while (n) {
result.push (a[n & 0xF]);
n >>= 4;
}
return result.reverse();
}
function xdigits(n){
let nums='0123456789ABCDEF'
let result = []
while (n){
let num=n%16
result.unshift(nums[num])
n=(n-num)/16
}
return result
}
function xdigits(n){
return n.toString(16).toUpperCase().split('');
}
function xdigits(n){
let arr = [];
let arr1 = "0123456789ABCDEF".split('');
if (n != 0) {
for (let i = 0; n; i++) {
arr[i] = arr1[n % 16];
n = (n / 16) | 0
}
} else
arr.push("0");
return arr.reverse();
}
function xdigits(n)
{
let string = "0123456789ABCDEF";
let arr = [];
while(true)
{
arr.push(string[n % 16]);
n = Math.floor(n / 16);
if(n == 0) break;
}
arr.sort((a, b) => b.charCodeAt(0) - a.charCodeAt(0));
return arr;
}
function xdigits(n){
let liters = '0123456789ABCDEF'
let result = [];
while(n > 0){
result.push(liters.charAt(n % 16))
n = Math.floor(n/16)
}
return result.reverse()
}
const pseudoDigits = '0123456789ABCDEF'.split('');
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
const xdigits = num => num.toString(16).toUpperCase();
function xdigits(n) {
let a = [];
let b = '0123456789ABCDEF';
while (n > 0 ) {
a.push(b[n%16]);
n = Math.floor(n/16);
}
a.reverse()
return a;
}
function xdigits(n){
let hexArr = "";
let buf;
let number = n;
let countSym = 0;
for(let i = 0; 16**i <= number; i++){
countSym++;
}
for (let i = countSym - 1; i >= 0; i--) {
buf = Math.floor(number / (16**i));
number = number - (buf*(16**i));
switch (buf){
case 1:
hexArr = hexArr + "1";
break;
case 2:
hexArr = hexArr + "2";
break;
case 3:
hexArr = hexArr + "3";
break;
case 4:
hexArr = hexArr + "4";
break;
case 5:
hexArr = hexArr + "5";
break;
case 6:
hexArr = hexArr + "6";
break;
case 7:
hexArr = hexArr + "7";
break;
case 8:
hexArr = hexArr + "8";
break;
case 9:
hexArr = hexArr + "9";
break;
case 10:
hexArr = hexArr + "A";
break;
case 11:
hexArr = hexArr + "B";
break;
case 12:
hexArr = hexArr + "C";
break;
case 13:
hexArr = hexArr + "D";
break;
case 14:
hexArr = hexArr + "E";
break;
case 15:
hexArr = hexArr + "F";
break;
case 0:
hexArr = hexArr + "0";
break;
}
}
return hexArr;
}
function xdigits(n){
let hex = [];
let digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
while(n > 0){
hex.push(digits[n % 16]);
n = parseInt(n / 16);
}
return hex.reverse();
}
function xdigits(x) {
const vocab = "0123456789ABCDEF";
let str = "";
while (x)
{
let a = x % 16;
str = vocab[a] + str;
x = (x - a) / 16;
}
return str;
}
function xdigits(n)
{
if(n==0)
{
return ['0']
}
let result = []
let pack = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
while (n>0)
{
result.push(pack[n % 16])
n = parseInt(n/16)
}
return result.reverse()
}
function xdigits(x) {
const vocab = "0123456789ABCDEF";
let str = "";
while (x)
{
let a = x % 16;
str = vocab[a] + str;
x = (x - a) / 16;
}
return str;
}
function xdigits(n){
n = n.toString(16);
let array = [];
for (let i of String(n)){
if (Number.isNaN(+i)) array.push(i.toUpperCase());
else array.push(i);
}
return array;
}
function xdigits(n){
return n.toString(16).toUpperCase().split("");
}
function xdigits(n) {
let str = "0123456789ABCDEF";
let res = [];
while (n) {
res.push(str[n%16])
n = Math.floor(n/16)
}
return res.reverse()
}
function xdigits(n){
let liters = '0123456789ABCDEF'
let result = [];
while(n > 0){
result.push(liters.charAt(n % 16))
n = Math.floor(n/16)
}
return result.reverse()
}
function xdigits(n){
let arr = [];
for (let i = 0; n; i++) {
arr[i] = n % 16;
n = n / 16 | 0;
}
for (let index in arr) {
arr[index] = ['0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', 'A', 'B',
'C', 'D', 'E', 'F'][arr[index]]
}
return arr.reverse();
}
const DIGITS = "0123456789ABCDEF";
function xdigits(n){
if(n == 0) return ['0'];
let m = n;
let l = 0;
while(n > 0) {
n = (n - n % 16) / 16;
l += 1;
}
let a = Array(l);
while(m > 0) {
l -= 1;
a[l] = DIGITS.charAt(m % 16);
m = (m - m % 16) / 16;
}
return a;
}
function xdigits(n) {
let arr = ("0123456789ABCDEF").split("")
let kilk = 0;
count = n;
step = String(n).length;
let res = "";
while (count != 0 || step > -1) {
if ((res == "" && 16 ** step <= count )|| res != "") {
kilk = parseInt(count / (16 ** step))
res += (arr[kilk])
count -= kilk * (16 ** step)
}
step--
}
if (n == 0) {
res = "0"
}
return res.split("");
}
function xdigits(n){
let string = "0123456789ABCDEF";
let str = "";
while (n){
let a = n % 16;
str = string[a] + str;
n = (n - a) / 16;
}
return str;
}
function xdigits(n){
let num = n.toString(16).toUpperCase().split('');
let arr = [];
for(let i=0; i< num.length; i++){
arr.unshift(num[num.length-i-1]);
}
return arr;
}
let digits = '0123456789ABCDEF'.split('');
function xdigits(n) {
let output = [];
do {
let index = n % 16;
output.unshift(digits[index]);
n = parseInt(n / 16);
} while (n);
return output.join('');
}
function xdigits(n) {
return n.toString(16).toUpperCase().split('');
}
console.log(xdigits(1234))
//4d2
function xdigits(n) {
let hex = "0123456789ABCDEF";
let result = [];
while (n > 0) {
let digit = n % 16;
result.push(hex[digit]);
n = (n - digit) / 16;
}
return result.reverse();
}
function dig(n, a) {
let res = [];
for (let i = 0; n > 0; i++) {
res[i] = n % a;
n = Math.floor(n / a);
}
res = res.reverse();
return res;
}
function xdigits(n) {
let res = dig(n, 16);
let num = ["A", "B", "C", "D", "E", "F"];
for (let i = 0; i < res.length; i++) {
if (res[i] > 9) {
res[i] = num[res[i] % 10];
}
}
return res;
}
function xdigits(n){
let arr = [],
v = 1,
k = 'ABCDEF';
for (let i = n.length - 1; n>=1; i--) {
v = n%16
if (v > 9) v = k[v-10]
n = Math.trunc(n/16)
arr.push(v.toString())
}
return arr.sort().reverse()
}
function xdigits(n){
return n.toString(16).toUpperCase().split("");
}
function xdigits(n){
let arr = [];
if(n==0) return ['0'];
while(n>0)
{
let a = n%16;
n = (n - a) / 16;
if(a>9)
{
if(a==10) a='A';
if(a==11) a='B';
if(a==12) a='C';
if(a==13) a='D';
if(a==14) a='E';
if(a==15) a='F';
}
arr.unshift(a);
}
return arr;
}
const xdigits = (n) => n.toString(16).toUpperCase().split("")
function xdigits(n){
let array = [];
while(n){
let temp = n%16
n = (n-temp)/16
if(temp>9){
if(temp==10){temp='A'}
if(temp==11){temp='B'}
if(temp==12){temp='C'}
if(temp==13){temp='D'}
if(temp==14){temp='E'}
if(temp==15){temp='F'}
}
array.push(''+temp);
}
array.reverse()
return array;
}
function xdigits(n){
let arr = [];
let b = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
while(n){
let num = n % 16;
arr.unshift(b[num]);
n=(n-num)/16;
}
return arr
}
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
let arr = [];
let N, S;
while(n>0){
N = n / 16;
N = parseInt(N)
S = n - N*16;
arr.unshift(S)
n = N;
}
console.log(arr)
for(i = 0; i < arr.length; ++i)
{
switch (arr[i]){
case 15:{
arr[i] = 'F';
break;
}
case 14:{
arr[i] = 'E';
break;
}
case 13:{
arr[i] = 'D';
break;
}
case 12:{
arr[i] = 'C';
break;
}
case 11:{
arr[i] = 'B';
break;
}
case 10:{
arr[i] = 'A';
break;
}
default:{
continue;
}
}
}
return arr
}
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
const symbols = '0123456789ABCDEF'
let res = []
while (n){
res.unshift(symbols[n % 16])
n = (n - n % 16)/16
}
return res
}
let num="0123456789ABCDEF";
let str="";
while(x)
{
let i=x%16;
str=num[i]+str;
x=(x-i)/16;
}
return str;
}
let res = [];
let b = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
while (n){
let a = n % 16;
res.unshift(b[a]);
n=(n-a)/16;
}
return (res);
}
let result = [];
let str = "0123456789ABCDEF";
while (n) {
result.push(str[n%16])
n = Math.floor(n/16)
}
return result.reverse()
}
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
let a = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
let result = [];
while (n) {
result.push (a[n & 0xF]);
n >>= 4;
}
return result.reverse();
}
let nums='0123456789ABCDEF'
let result = []
while (n){
let num=n%16
result.unshift(nums[num])
n=(n-num)/16
}
return result
}
return n.toString(16).toUpperCase().split('');
}
let arr = [];
let arr1 = "0123456789ABCDEF".split('');
if (n != 0) {
for (let i = 0; n; i++) {
arr[i] = arr1[n % 16];
n = (n / 16) | 0
}
} else
arr.push("0");
return arr.reverse();
}
{
let string = "0123456789ABCDEF";
let arr = [];
while(true)
{
arr.push(string[n % 16]);
n = Math.floor(n / 16);
if(n == 0) break;
}
arr.sort((a, b) => b.charCodeAt(0) - a.charCodeAt(0));
return arr;
}
let liters = '0123456789ABCDEF'
let result = [];
while(n > 0){
result.push(liters.charAt(n % 16))
n = Math.floor(n/16)
}
return result.reverse()
}
function xdigits(num) {
let output = [];
do {
let index = num % 16;
output.unshift(pseudoDigits[index]);
num = Math.trunc(num / 16);
} while (num);
return output.join('');
}
let a = [];
let b = '0123456789ABCDEF';
while (n > 0 ) {
a.push(b[n%16]);
n = Math.floor(n/16);
}
a.reverse()
return a;
}
let hexArr = "";
let buf;
let number = n;
let countSym = 0;
for(let i = 0; 16**i <= number; i++){
countSym++;
}
for (let i = countSym - 1; i >= 0; i--) {
buf = Math.floor(number / (16**i));
number = number - (buf*(16**i));
switch (buf){
case 1:
hexArr = hexArr + "1";
break;
case 2:
hexArr = hexArr + "2";
break;
case 3:
hexArr = hexArr + "3";
break;
case 4:
hexArr = hexArr + "4";
break;
case 5:
hexArr = hexArr + "5";
break;
case 6:
hexArr = hexArr + "6";
break;
case 7:
hexArr = hexArr + "7";
break;
case 8:
hexArr = hexArr + "8";
break;
case 9:
hexArr = hexArr + "9";
break;
case 10:
hexArr = hexArr + "A";
break;
case 11:
hexArr = hexArr + "B";
break;
case 12:
hexArr = hexArr + "C";
break;
case 13:
hexArr = hexArr + "D";
break;
case 14:
hexArr = hexArr + "E";
break;
case 15:
hexArr = hexArr + "F";
break;
case 0:
hexArr = hexArr + "0";
break;
}
}
return hexArr;
}
let hex = [];
let digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
while(n > 0){
hex.push(digits[n % 16]);
n = parseInt(n / 16);
}
return hex.reverse();
}
const vocab = "0123456789ABCDEF";
let str = "";
while (x)
{
let a = x % 16;
str = vocab[a] + str;
x = (x - a) / 16;
}
return str;
}
{
if(n==0)
{
return ['0']
}
let result = []
let pack = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
while (n>0)
{
result.push(pack[n % 16])
n = parseInt(n/16)
}
return result.reverse()
}
const vocab = "0123456789ABCDEF";
let str = "";
while (x)
{
let a = x % 16;
str = vocab[a] + str;
x = (x - a) / 16;
}
return str;
}
n = n.toString(16);
let array = [];
for (let i of String(n)){
if (Number.isNaN(+i)) array.push(i.toUpperCase());
else array.push(i);
}
return array;
}
return n.toString(16).toUpperCase().split("");
}
let str = "0123456789ABCDEF";
let res = [];
while (n) {
res.push(str[n%16])
n = Math.floor(n/16)
}
return res.reverse()
}
let liters = '0123456789ABCDEF'
let result = [];
while(n > 0){
result.push(liters.charAt(n % 16))
n = Math.floor(n/16)
}
return result.reverse()
}
let arr = [];
for (let i = 0; n; i++) {
arr[i] = n % 16;
n = n / 16 | 0;
}
for (let index in arr) {
arr[index] = ['0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', 'A', 'B',
'C', 'D', 'E', 'F'][arr[index]]
}
return arr.reverse();
}
function xdigits(n){
if(n == 0) return ['0'];
let m = n;
let l = 0;
while(n > 0) {
n = (n - n % 16) / 16;
l += 1;
}
let a = Array(l);
while(m > 0) {
l -= 1;
a[l] = DIGITS.charAt(m % 16);
m = (m - m % 16) / 16;
}
return a;
}
let arr = ("0123456789ABCDEF").split("")
let kilk = 0;
count = n;
step = String(n).length;
let res = "";
while (count != 0 || step > -1) {
if ((res == "" && 16 ** step <= count )|| res != "") {
kilk = parseInt(count / (16 ** step))
res += (arr[kilk])
count -= kilk * (16 ** step)
}
step--
}
if (n == 0) {
res = "0"
}
return res.split("");
}
let string = "0123456789ABCDEF";
let str = "";
while (n){
let a = n % 16;
str = string[a] + str;
n = (n - a) / 16;
}
return str;
}
let num = n.toString(16).toUpperCase().split('');
let arr = [];
for(let i=0; i< num.length; i++){
arr.unshift(num[num.length-i-1]);
}
return arr;
}
function xdigits(n) {
let output = [];
do {
let index = n % 16;
output.unshift(digits[index]);
n = parseInt(n / 16);
} while (n);
return output.join('');
}
return n.toString(16).toUpperCase().split('');
}
console.log(xdigits(1234))
//4d2
let hex = "0123456789ABCDEF";
let result = [];
while (n > 0) {
let digit = n % 16;
result.push(hex[digit]);
n = (n - digit) / 16;
}
return result.reverse();
}
let res = [];
for (let i = 0; n > 0; i++) {
res[i] = n % a;
n = Math.floor(n / a);
}
res = res.reverse();
return res;
}
function xdigits(n) {
let res = dig(n, 16);
let num = ["A", "B", "C", "D", "E", "F"];
for (let i = 0; i < res.length; i++) {
if (res[i] > 9) {
res[i] = num[res[i] % 10];
}
}
return res;
}
let arr = [],
v = 1,
k = 'ABCDEF';
for (let i = n.length - 1; n>=1; i--) {
v = n%16
if (v > 9) v = k[v-10]
n = Math.trunc(n/16)
arr.push(v.toString())
}
return arr.sort().reverse()
}
return n.toString(16).toUpperCase().split("");
}
let arr = [];
if(n==0) return ['0'];
while(n>0)
{
let a = n%16;
n = (n - a) / 16;
if(a>9)
{
if(a==10) a='A';
if(a==11) a='B';
if(a==12) a='C';
if(a==13) a='D';
if(a==14) a='E';
if(a==15) a='F';
}
arr.unshift(a);
}
return arr;
}
let array = [];
while(n){
let temp = n%16
n = (n-temp)/16
if(temp>9){
if(temp==10){temp='A'}
if(temp==11){temp='B'}
if(temp==12){temp='C'}
if(temp==13){temp='D'}
if(temp==14){temp='E'}
if(temp==15){temp='F'}
}
array.push(''+temp);
}
array.reverse()
return array;
}
let arr = [];
let b = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
while(n){
let num = n % 16;
arr.unshift(b[num]);
n=(n-num)/16;
}
return arr
}