[原创]计算属相
中国古代有两套排序系统,一个是天干,有甲乙丙丁戊己庚辛壬癸是个组成;另一个是地支,有子丑寅卯辰巳午未等十二个组成。把十天干和十二地支相搭配,形成六十个对子,叫做六十甲子。古代即用六十甲子,或说用天干地支纪年、记月、记日、纪时。从而形成影响中国数千年的八字。由于干支纪年太过深奥,一般人难以记忆,于是出现了简易纪年及用属相纪年,用鼠牛虎兔龙蛇马羊猴鸡狗猪等十二种动物与十二地支对应。那一年的地支纪年的地支对应啥动物,就说这年是啥年。比如今年是农历戊子年,子对应鼠,所以今年是鼠年。查看隶属,可知公元4年是甲子年,地支数是1,为公元数减3所得,而地支数为12,所以属相由除12的余数决定。总之,巩俐年减3的差数除12的余数就是地支数或说是属相数。由此很容易得出计算属相的程序。需要说明的是:由于公元前1年应该是0年,所以公元前n年如果用-n表示的话,得出结果应该加1;
计算属相程序:
x=input('输入公历年,公元前n年用-n表示');
if(x<0) x=x+1;
switch mod((x-3),12);
case 0
fprintf('猪')
case 1
fprintf('鼠')
case 2
fprintf('牛')
case 3
fprintf('虎')
case 4
fprintf('兔')
case 5
fprintf('龙')
case 6
fprintf('蛇')
case 7
fprintf('马')
case 8
fprintf('羊')
case 9
fprintf('猴')
case 10
fprintf('鸡')
case 11
fprintf('狗')
end
|