Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tạo dãy số Ulam trong JavaScript


Dãy Ulam: từ số nguyên dương n>0: nếu n=1 dừng; n chẵn -> n/2; n lẻ -> 3n+1; lặp cho đến 1.

Ví dụ: 3->10->5->16->8->4->2->1.

Ví dụ

Mã minh họa:

const num = 7; 
const generateUlam = num => { 
  const res = [num]; 
  if(num && num === Math.abs(num) && isFinite(num)){ 
    while (num !== 1) { 
      if(num % 2){ 
        num = 3 * num + 1; 
      }else{ 
        num /= 2; 
      }; 
      res.push(num); 
    }; 
  }else{ 
    return false; 
  }; 
  return res; 
}; 
console.log(generateUlam(num)); 
console.log(generateUlam(3));

Kết quả

Đầu ra:

[ 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 ] 
[ 3, 10, 5, 16, 8, 4, 2, 1 ]