看晕掉了,谁能说明白?

智者知已应修善业 2013-06-05 04:51:28
本想玩玩算法,可是看2个表后晕了,坠入云中。

一百二十年阳历,干支,五行,生肖对照表
六十干支、五行、属相对照表

如:今年是水蛇查2表都没错
[30 癸巳 水 蛇 ][1953年 2月14日 1954年 2月2日 2013年 2月10日 2014年 1月30日 癸巳 水 蛇 ]
可是一看甲子对照2表就晕云中了。
[ 2 乙丑 金 牛 ][1901年 2月19日 1902年 2月7日 1961年 2月15日 1962年 2月4日 辛丑 金 牛 ]
一百二十年阳历,干支,五行,生肖对照表看起来很有规律可以写成代码
六十干支、五行、属相对照表?!看了表示云中......
...全文
439 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
_小黑_ 2013-06-21
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
“无有是处”的解释因人而异,也因意而异,“是”含确定、正确之意,“处”含处所、出处、处理之意。 汉字:是,拼音:shì,可以是认定、断定、承认、接受时的一种状态。 释义基本字义处chǔ形声。繁体字从虍(hū),从処(chǔ),処亦声。“処”意为“在茶几旁”。“虍”指虎皮,意为“保护”,引申为“安全”。 2013年06月21日→星座:巨蟹座 癸巳〖蛇〗、戊午月、戊午日、丙辰时 二〇一三年、五月、十四|夏至 今属:土;五行:水火土;缺:木金。 纳音五行:长流水。
白云任去留 2013-06-21
  • 打赏
  • 举报
回复
引用 9 楼 dd_zhouqian 的回复:
[quote=引用 8 楼 dd_zhouqian 的回复:]

无因而望得果无有是处
啥意思?
我在网上没查到[/quote] 所谓因果,有因才有果;没种下因的种子,自然不会得到结果。故不修因而期望有所收获、结果,那是妄想,是完全不对的。再上升到佛法,结合lz的签名,应当广修善业、修心立命…才能得成正果!
E次奥 2013-06-21
  • 打赏
  • 举报
回复
好有哲理的佛法!
  • 打赏
  • 举报
回复
xupeihuagudulei 2013-06-14
  • 打赏
  • 举报
回复
好牛逼的程序,
weizhuangwen 2013-06-14
  • 打赏
  • 举报
回复
引用 9 楼 dd_zhouqian 的回复:
[quote=引用 8 楼 dd_zhouqian 的回复:]

无因而望得果无有是处
啥意思?
我在网上没查到[/quote] 我试下翻译: 因:开始 望:期待 果:结果 是处:用得上 整句话意思就是:没有开始刻苦的学习和锻炼,而得来的成果。是没有用处的。
dd_zhouqian 2013-06-14
  • 打赏
  • 举报
回复
引用 8 楼 dd_zhouqian 的回复:

无因而望得果无有是处
啥意思?
我在网上没查到
dd_zhouqian 2013-06-14
  • 打赏
  • 举报
回复

无因而望得果无有是处
啥意思?
  • 打赏
  • 举报
回复
认识算命大师:释迦牟尼佛。佛言:无因而望得果无有是处; 又言:自性如幻,智者知已,应修善业,以是所生,蕴处界等,皆悉端正,见者无厌。前面说因后面说果,所说的就是因果命理。
ZHANGWENDY 2013-06-14
  • 打赏
  • 举报
回复
难道楼上的是开发算命网站的? 有没有大师介绍算下命啊
  • 打赏
  • 举报
回复
中国文化真是博大精深
  • 打赏
  • 举报
回复
引用 1 楼 shawn_yang 的回复:
其实有规律的 生肖好办,就是干支比较烦 60一个轮回
看似麻烦的算法,正好拿来演练算法的逻辑推导和演算归纳很有吸引力和有意思的. 继续看一些资料终于明白是怎么回事了,哈哈......原来阳阴五行是正五行,还有个偏五行就是纳音五行啊! 经过推导最后时辰与时辰干支算法:

01.internal enum 天干 { 南無阿弥陀佛, 甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸 }  
02.internal enum 地支 { 南無释迦牟尼佛, 子, 丑, 寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥 }  

14.            int 间隔天数 = (阳历日期.Date - new DateTime(2001, 1, 1)).Days % 60;  
15.            Func<List<int>, List<int>> 推算 = delegate(List<int> 数)  
16.            {  
17.                List<int> 干支值 = new List<int>();  
18.                干偏移 = 间隔天数 % 10 + 数[0]; if (干偏移 > 10) 干偏移 -= 10;  
19.                支偏移 = 间隔天数 % 12 + 数[1]; if (支偏移 > 12) 支偏移 -= 12;  
20.                干支值.Add(干偏移); 干支值.Add(支偏移);  
21.                return 干支值;  
22.            };  
23.            List<int> 日干支值 = 间隔天数 >= 0 ? 推算(new List<int> { 1, 1 }) : 推算(new List<int> { 11, 13 });  
24.            农历日干支 = ((天干)日干支值[0]).ToString() + ((地支)日干支值[1]).ToString() + "日";  
25.            int 小时数 = 阳历日期.Hour;  
26.            if (日干支值[0] > 5) 日干支值[0] -= 5;/*阳阴归类*/  
27.            日干支值[0] *= 2; 日干支值[0] -= 1;/*归阳*/  
28.            int 时辰支 = 小时数 % 2 == 0 ? 小时数 / 2 + 1 : 小时数 / 2 + 2; if (时辰支 > 12) 时辰支 -= 12;  
29.            int 时辰干 = 日干支值[0] + 时辰支 - 1; if (时辰干 > 10) 时辰干 -= 10;  
30.            农历时干支 = ((天干)时辰干).ToString() + ((地支)时辰支).ToString() + "时"; 
其中时干支算法推导后也很简单,主要把子时的推导出来后还按时辰顺序推演而且是天干内循环还重复,虽然看起来较为周折,但经推导后的算法公式还是很简单的. 阳阴五行的天干较规律和时辰推演一样算法即可.地支虽有一定规律但若写起归纳的算法来还不如直接写的简洁:

private enum 五行 { 南無观世音菩萨, 木, 火, 土, 金, 水 }
Func<int, int> 天干阳阴五行推算 = delegate(int 数)
 { return 数 % 2 == 0 ? 数 / 2 : 数 / 2 + 1; };
 Func<int, int> 地支阳阴五行推算 = delegate(int 数)
 {
 if (数 == 3 || 数 == 4) return 1;
 else if (数 == 6 || 数 == 7) return 2;
 else if (数 == 9 || 数 == 10) return 4;
 else if (数 == 1 || 数 == 12) return 5;
 else return 3;
 };
纳音五行没什么规律可言况每行的名称也是不同的,因此采用同样的2归1简洁算法外直接枚举就是了:
private enum 五行 { 南無观世音菩萨, 木, 火, 土, 金, 水 }
private enum 纳音五行 { 海中金, 炉中火, 大林木, 路旁土, 剑锋金, 山头火, 涧下水, 城墙土, 白腊金, 杨柳木, 泉中水, 屋上土, 霹雷火, 松柏木, 长流水, 沙中金, 山下火, 平地木, 壁上土, 金箔金, 佛光火, 天河水, 大驿土, 钗钏金, 桑松木, 大溪水, 沙中土, 天上火, 石榴木, 大海水 }
五行推算 推算 = new 五行推算();
string 阳阴五行 = ((五行)推算.干阳阴(年天干)).ToString() + ((五行)推算.支阳阴(年地支)).ToString();
string 纳音五行 = "\r\n纳音五行:" + ((纳音五行)推算.纳音五行(甲子60数)).ToString() + "。";
       private class 五行推算
        {
            internal int 干阳阴(int 值)
            { return 值 % 2 == 0 ? 值 / 2 : 值 / 2 + 1; }
            internal int 支阳阴(int 值)
            {
                if (值 == 3 || 值 == 4) return 1;
                else if (值 == 6 || 值 == 7) return 2;
                else if (值 == 9 || 值 == 10) return 4;
                else if (值 == 1 || 值 == 12) return 5;
                else return 3;
            }
            internal string 字符串去重(string 字符)
            { return new string(字符.ToArray().Distinct().ToArray()); }
            internal string 字符串去复(string 元字符, string 字符)
            { return new string(元字符.ToArray().Except(字符.ToArray()).ToArray()); }
            internal int 纳音五行(int 值)
            { return 值 % 2 == 0 ? 值 / 2 - 1: 值 / 2; }
        }
至此感兴趣的算法演练就此为止,最后看看今天更正算法核对正确后的运行结果: ------------------------------------------- 公历→农历 2013年06月08日 双子座 二〇一三年五月初一 癸巳〖蛇〗 戊午月 乙巳日 甲申时 今属:木;五行:水火土木金;缺:。 纳音五行:长流水。
  • 打赏
  • 举报
回复
时 辰(时) 子23~1 丑1~-3 寅3~5 卯5~7 辰7~9 巳9~11 午11~13 未13~15 申15~17 酉17~19 戌19~21 亥21~23 日 干 甲日 己日 甲子 乙丑 丙寅 丁卯 戊辰 己巳 庚午 辛未 壬申 癸酉 甲戌 乙亥 乙日 庚日 丙子 丁丑 戊寅 己卯 庚辰 辛巳 壬午 癸未 甲申 乙酉 丙戌 丁亥 丙日 辛日 戊子 己丑 庚寅 辛卯 壬辰 癸巳 甲午 乙未 丙申 丁酉 戊戌 己亥 丁日 壬日 庚子 辛丑 壬寅 癸卯 甲辰 乙巳 丙午 丁未 戊申 己酉 庚戌 辛亥 戊日 癸日 壬子 癸丑 甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戌 癸亥 经过推导最后算法: int 转换 = 小时数 % 2 == 0 ? 小时数 / 2 + 1 : 小时数 / 2 + 2; if (转换 > 12) 转换 -= 12; ((地支)转换).ToString() + "时"; 也就解决了。
  • 打赏
  • 举报
回复
麻烦不怕就是要演练逻辑、归纳和算法对写任何程序都有好处,如:演算12时辰 经过推导最后算法: int 转换 = 小时数 % 2 == 0 ? 小时数 / 2 + 1 : 小时数 / 2 + 2; if (转换 > 12) 转换 -= 12; ((地支)转换).ToString() + "时"; 也就解决了。
shawn_yang 2013-06-05
  • 打赏
  • 举报
回复
其实有规律的 生肖好办,就是干支比较烦 60一个轮回

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧