一、背景

老人家人经常说谁是什么命,一般地是出自六十花甲子纳音表。
看了纳音表中的五行属性不是按顺序排的,那是怎么算的呢?

二、计算方法

伪代码大概是这样的

//纳音,顾名思义,音只有宫商角徵羽五音,所以只能是1到5
//又因为每个五行都占相邻的两个天干地支,所以就有了下面的对应关系
甲=乙=1
丙=丁=2
戊=己=3
庚=辛=4
壬=癸=5

子=丑=1
寅=卯=2
辰=巳=3
午=未=1
申=酉=2
戌=亥=3

//五行的排序也和别的不同
enum 五行 {
	木=1,
	金=2,
	水=3,
	火=4,
	土=5,
} 

//把要算的天干地支按照上面的数字加起来减到小于五,最后剩的数字就是对应的五行数字
res = 天干 + 地支
while (res > 5) {
	res = res - 5;
}
cout << (五行)res << endl;

三、参考地址

https://zhuanlan.zhihu.com/p/631255018

posted on 2023-08-08 18:38  步孤天  阅读(291)  评论(0编辑  收藏  举报