Edu DaLatHub
  • Trang chủ
  • Flutter
  • WordPress Plugin
  • GoLang
  • ReactJS
  • NodeJS
  • Networking
    • Basic Networking
      • ARP
      • ICMP
      • TCP/UDP
    • Routing & Switching
      • RIP
      • OSPF
      • EIGRP
      • Redistribution
      • TSHOOT
      • WAN
Liên hệ

  • By  tinhphan
  • 0 comments
  • Tháng Một 16, 2021

Cách tính mệnh ngũ hành của bạn bằng Nodejs

Mình là người rất thích xem hài, đặt biệt là hài của Trấn Thành. Một trong các vai hài mình thích nhất của Trấn Thành là vai ông thầy bói và anh Nguyên Phấn Đông (nguyên đống p**n) siêu lày. Trong bộ đó có đoạn hỏi về “mệnh của con là mệnh gì ?” thì ngay lúc đó mình mới tự hỏi mình là mệnh gì ? và làm sao để biết được mình là mệnh nước hay mệnh lửa… hic hic.

codePSoft.com Hài Trấn Thành
Giải Hạn tiểu phẩm hài của Trấn Thành và Anh Đức

Qua một thời gian tìm tòi và nghiên cứu, mình tìm ra công thức tính và đưa nó vào lập trình. Công thức đó được ghi ở một trang web nhưng lúc mình tìm lại thì không tìm ra trang web đó nữa, nếu bạn nào xem thấy có trang web nào có công thức giống vậy chỉ mình nhé để mình lấy share lên fb luôn hihi.

Nếu bạn nào chưa hiều về mệnh ngũ hành cũng như can, chi thì mình giải thích một tí:

  • Can gồm có 10 can: Canh, Tân, Nhâm, Quý, Giáp, Ất, Bính, Đinh, Mậu, Kỷ.
  • Chi gốm 12 yếu tố được tính bằng 12 con giáp: Tý, Sửu, Dần, Mão, Thìn, Tỵ, Ngọ, Mùi, Thân, Dậu, Tuất, Hợi
  • Ngũ hành sẽ gồm có 5: Kim, Mộc, Thủy, Hỏa, Thổ.

Ngũ hành sẽ được tính từ Thiên Can (được tính từ can) và Địa Chi (được tính từ chi), để tính được 2 thông tin đó mình sẽ cần đến năm sinh, bên dưới là một ví dụ
VD: Bác hồ sinh năm 1890 thì biết được -> Chi: Dần -> Can: Canh -> Ngũ hành: Mộc => Bác sinh năm Canh Dần và là mệnh mộc. Nếu biết được mệnh của mình và người khác mình sẽ dễ dàng chọn lựa các đồ dùng hoặc quà cáp phù hợp với mệnh của người đó để góp phần giúp người đó may mắn hơn, người lại không biết thì bạn biết rồi đó.
Okey công thức sẽ được tính như sau:
Can = ký tự cuối cùng năm sinh của bạn, so sánh với bảng ở bên dưới
VD: 1998 -> 8 -> Can: Mậu

Mã CanTên Can
0Canh
1Tân
2Nhâm
3Quý
4Giáp
5Ất
6Bính
7Đinh
8Mậu
9Kỷ
Bảng tính Can

Chi = Chia lấy dư năm sinh của bạn cho 12, lấy số dư đó so sánh với bảng ở dưới
VD: 1998 -> 1998 % 12 = 6 -> Chi: Dần

Mã ChiTên Chi
0Thân
1Dậu
2Tuất
3Hợi
4Tí
5Sửu
6Dần
7Mẹo
8Thìn
9Tỵ
10Ngọ
11Mùi
Bảng tính Chi

Thiên Can = so sách Mã Can vừa tính được so sách với bảng bên dưới
VD: 1998 mã Can của mình là 8 => Thiên Can = 3

Mã CanThiên Can
4, 51
6, 72
8, 93
0, 14
2, 35
Bảng tính Thiên Can

Địa Chi = so sách Mã Chi vừa tính được so sách với bảng bên dưới
VD: 1998 mã Chi của mình là 6 => Địa Chi = 1

Mã ChiĐịa Chi
4, 5, 10, 110
0, 1, 6, 71
2, 3, 8, 92
Bảng tính Địa Chi

Mệnh Ngũ Hành = Thiên Can + Địa Chi, nếu tổng lớn hơn 5 thì lấy 5 – tổng vừa tính và lấy giá trị so sánh với bảng bên dưới
VD: 3 + 1 = 4 => mệnh Thổ
4+2 = 6 => mệnh Kinh ( 6 – 5 = 1)

Mã Ngũ HànhNgũ Hành
1Kim
2Thủy
3Hỏa
4Thổ
5Mộc
Bảng mệnh Ngũ Hành

Từ công thức trên thì rất đơn giản để mình đưa nó vào lập trình tính toán ra những thứ mình cần tính. Bên dưới là đoạn code mình áp dụng để tính năm sinh ra năm đó là năm gì và mệnh ngũ hành là gì?

let YEAR = 1998;
function getCan(number){
  switch(number){
    case 0:{
      return "Canh"
    }
    case 1:{
      return "Tân"
    }
    case 2:{
      return "Nhâm"
    }
    case 3:{
      return "Quý"
    }
    case 4:{
      return "Giáp"
    }
    case 5:{
      return "Ất"
    }
    case 6:{
      return "Bính"
    }
    case 7:{
      return "Đinh"
    }
    case 8:{
      return "Mậu"
    }
    case 9:{
      return "Kỷ"
    }
    default:{
      return "Undefine";
    }
  }
}
function getChi(number){
  switch(number){
    case 0:{
      return "Thân"
    }
    case 1:{
      return "Dậu"
    }
    case 2:{
      return "Tuất"
    }
    case 3:{
      return "Hợi"
    }
    case 4:{
      return "Tý"
    }
    case 5:{
      return "Sửu"
    }
    case 6:{
      return "Dần"
    }
    case 7:{
      return "Mão"
    }
    case 8:{
      return "Thìn"
    }
    case 9:{
      return "Tỵ"
    }
    case 10:{
      return "Ngọ"
    }
    case 11:{
      return "Mùi"
    }
    default:{
      return "Undefine";
    }
  }
}
function getHanhCan(yearOld){ //1998 -> 8
  let strYear = yearOld.toString();
  let lastCharNum = strYear.substr(strYear.length-1,1);
  return parseInt(lastCharNum);
}
function getHanhChi(yearOld){ //1998 -> 8
  return yearOld % 12;
}
function getYearConvension(yearOld){
  return `${getCan(getHanhCan(yearOld))} ${getChi(getHanhChi(yearOld))}` ;
}
function getThienCan(canNum){
  if(canNum == 4 || canNum == 5){
    return 1;
  }
  if(canNum == 6 || canNum == 7){
    return 2;
  }
  if(canNum == 8 || canNum == 9){
    return 3;
  }
  if(canNum == 0 || canNum == 1){
    return 4;
  }
  if(canNum == 2 || canNum == 3){
    return 5;
  }
}
function getDiaChi(numChi){
  if(numChi == 4 || numChi == 5 || numChi == 10 || numChi == 11){
    return 0;
  }
  if(numChi == 0 || numChi == 1 || numChi == 6 || numChi == 7){
    return 1;
  }
    if(numChi == 2 || numChi == 3 || numChi == 8 || numChi == 9){
    return 2;
  }
}
function getNguHanh(num){
  switch(num){
    case 1:{
      return "Kim"
    }
    case 2:{
      return "Thủy"
    }
    case 3:{
      return "Hỏa"
    }
    case 4:{
      return "Thổ"
    }
    case 5:{
      return "Mộc"
    }
    default:{
      return "Undefine";
    }
  }
}
function getMenhNguHanh(yearOld){
  let can = getHanhCan(yearOld);
  let chi = getHanhChi(yearOld);
  let thienCan = getThienCan(can);
  let diaChi = getDiaChi(chi);
  let nguHanh = (thienCan + diaChi) > 5 ? (thienCan + diaChi) - 5 : (thienCan + diaChi);
  return getNguHanh(nguHanh)
}
console.log(`Năm: ${getYearConvension(YEAR)}`);
console.log(`Mệnh: ${getMenhNguHanh(YEAR)}`);

Chương trình trên mình chỉ code để console ra thôi, mình muốn dùng reactjs để hiển thị giao diện luôn cho ngầu nhưng chưa có thời gian, anyway page mình có một số bài viết về reactjs rất hay bạn có thể tham khảo tại đây. Chúc các bạn thành công!

Tags:
NodeJS, Web

Leave a Comment Cancel Reply

Your email address will not be published.*

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

Don’t compare yourself with anyone in this world…if you do so, you are insulting yourself.

Bill Gates

When something is important enough, you do it even if the odds are not in your favor.

Elon Musk

Bài viết mới

  • Lorem Ipsum Sample Content123
  • Lorem Ipsum Sample Content
  • Hello world
  • Hello world
  • Hello world
  • Wide area networks (Phần 2)
  • Wide area networks (Phần 1)
  • Redistribution (Phần Cuối)
  • Redistribution (Phần 1)
  • OSPF – Open Shortest Path First (Phần Cuối)

Nơi chia sẻ về tin công nghệ, các kinh nghiệm lập trình. Xây dựng các khoá đào tạo lập trình, mạng, tin học văn phòng...

Thông tin liên hệ

  • 2/9 Phạm Ngũ Lão, Phường 3, Đà Lạt
  • 0865802659
  • info@dalathub.com

Copyright @ 2022 Edu DaLatHub