Hướng dẫn reverse integer javascript without converting to a string - đảo ngược số nguyên javascript mà không cần chuyển đổi thành chuỗi

Có ai có thể chỉ cho tôi nơi tôi đang đi sai trong mã của mình không? Tôi đang cố gắng đảo ngược một số mà không thay đổi nó thành một chuỗi. Tôi đã tìm kiếm Google và xem qua các câu hỏi trước đã hỏi về chủ đề này và từ những gì tôi có thể thấy mã của mình phản chiếu các câu trả lời khác.

Tôi chỉ có thể tìm thấy mã trong Java, C hoặc C ++ không sử dụng phương thức chuỗi TO.

Trong những nỗ lực của tôi, khi tôi chạy mã trong bảng điều khiển trình duyệt, nó sẽ cho tôi câu trả lời "vô cực" hoặc làm hỏng trình duyệt của tôi.

Đây là mã của tôi ...

function reverseNumber[number] {

  var revNumber = 0;

  while [number > 0] {
    revNumber = [revNumber * 10] + [number % 10];
    number = number / 10;
  }

  return revNumber;
}

console.log[reverseNumber[876]];

Tôi biết nó phải là một số lỗi cú pháp nhỏ nhưng tôi không thấy nó. Bất kỳ cái nhìn sâu sắc sẽ được đánh giá cao. Cảm ơn!

Đã hỏi ngày 3 tháng 7 năm 2018 lúc 3:31Jul 3, 2018 at 3:31

4

number = number / 10; bên trong vòng lặp

function reverseNumber[number] {
  var revNumber = 0;
  while [number > 0] {
    revNumber = [revNumber * 10] + [number % 10];
    number = Math.floor[number / 10];
  }
  return revNumber;
}
console.log[reverseNumber[876]];
0 có điều kiện là
function reverseNumber[number] {
  var revNumber = 0;
  while [number > 0] {
    revNumber = [revNumber * 10] + [number % 10];
    number = Math.floor[number / 10];
  }
  return revNumber;
}
console.log[reverseNumber[876]];
1 có nghĩa là
function reverseNumber[number] {
  var revNumber = 0;
  while [number > 0] {
    revNumber = [revNumber * 10] + [number % 10];
    number = Math.floor[number / 10];
  }
  return revNumber;
}
console.log[reverseNumber[876]];
2 sẽ chỉ đạt 0 sau khi một số lần lặp rất lớn, một khi số lượng chính xác không thành công. . Bạn có thể chia cho 10 và thả phần thập phân:

function reverseNumber[number] {
  var revNumber = 0;
  while [number > 0] {
    revNumber = [revNumber * 10] + [number % 10];
    number = Math.floor[number / 10];
  }
  return revNumber;
}
console.log[reverseNumber[876]];

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 3:36Jul 3, 2018 at 3:36

4

Những tác phẩm này.

Thực hiện cơ bản::

function reverse[n]
{
    var temp=0;
    while[n]
    {
        temp *= 10;
        temp += n%10;
        n = Math.floor[n/10];
    }
    return temp;
}

console.log[reverse[123]]
console.log[reverse[456]]
console.log[reverse[789]]
console.log[reverse[7890]]

Thực hiện cơ bản nội tuyến::

function reverse[n]
{
    var reverse=0;
    while[n>0] [reverse=reverse*10+n%10, n=Math.floor[n/10]];
    return reverse;
}

console.log[reverse[123]]
console.log[reverse[456]]
console.log[reverse[789]]
console.log[reverse[7890]]

Thực hiện bằng các mảng.arrays.

function reverse[n]
{
    var arr=[], reverse=0;
    while[n>0] [arr.push[n%10], n=Math.floor[n/10]];
    while[arr.length] reverse=reverse*10+arr.shift[];
    return reverse;
}

console.log[reverse[123]]
console.log[reverse[456]]
console.log[reverse[789]]
console.log[reverse[7890]]

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 3:43Jul 3, 2018 at 3:43

Vignesh Rajavignesh RajaVignesh Raja

7.3611 Huy hiệu vàng32 Huy hiệu bạc40 Huy hiệu đồng1 gold badge32 silver badges40 bronze badges

3

number = Math.floor[number / 10];

Bạn cần toán học. sẽ cung cấp giá trị điểm nổi sẽ luôn lớn hơn 0

   function reverseNumber[number] {

          var revNumber = 0;

          console.log["######### steps ###########"];

          while [number > 0] {
            console.log["Step " , number];
            revNumber = [revNumber * 10] + [number % 10];
            number = Math.floor[number / 10];
          }
            console.log["######### steps End ###########"];

          return revNumber;
        }

        console.log[reverseNumber[876]];

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 3:37Jul 3, 2018 at 3:37

function reverseNumber[number] {

  var revNumber = 0;

  while [number > 0] {
    revNumber = [revNumber * 10] + [number % 10];
    number = Math.floor[number / 10];
  }

  return revNumber;
}

console.log[reverseNumber[876]];

El Assocationa estaba en la reasignación del valor del số, con el math.floor sacamos la parte entera y solo esta, asi evitamos los decimales.

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 3:59Jul 3, 2018 at 3:59

function reverseInt[int] {
  return  parseInt[int.toString[].split[''].reverse[].join['']]
}
console.log[reverseInt[510]];

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 10:15Jul 3, 2018 at 10:15

Sayaloksayaloksayalok

8823 Huy hiệu vàng16 Huy hiệu bạc 30 Huy hiệu Đồng3 gold badges16 silver badges30 bronze badges

0

Bài Viết Liên Quan

Chủ Đề