【蓝桥杯Java_C组·从零开始卷】第四节(附)、河图洛书【九宫格】(卷王必备,不想卷的略过,使用优化暴力破解,与网上莫名其妙的

举报
红目香薰 发表于 2022/01/23 18:08:27 2022/01/23
【摘要】 ​ 目录河图洛书到底是什么?一,河图之象二,河图之数三、Java二维数组表示方法河图洛书到底是什么?河图与洛书是中国古代流传下来的两幅神秘图案,历来被认为是河洛文化的滥觞,中华文明的源头,被誉为宇宙魔方。相传,上古伏羲氏时,洛阳东北孟津县境内的黄河中浮出龙马,背负河图,献给伏羲。伏羲依此而演成八卦,后为《周易》来源。又相传,大禹时,洛阳西洛宁县洛河中浮出神龟,背驮洛书,献给大禹。大禹依此治水...

 目录

河图洛书到底是什么?

一,河图之象

二,河图之数

三、Java二维数组表示方法


河图洛书到底是什么?

河图与洛书是中国古代流传下来的两幅神秘图案,历来被认为是河洛文化的滥觞,中华文明的源头,被誉为宇宙魔方。
相传,上古伏羲氏时,洛阳东北孟津县境内的黄河中浮出龙马,背负河图,献给伏羲。伏羲依此而演成八卦,后为《周易》来源。又相传,大禹时,洛阳西洛宁县洛河中浮出神龟,背驮洛书,献给大禹。大禹依此治水成功,遂划天下为九州。又依此定九章大法,治理社会,流传下来收入《尚书》中,名《洪范》。《易・系辞上》说:河出图,洛出书,圣人则之,就是指这两件事。


河图上,排列成数阵的黑点和白点,蕴藏着无穷的奥秘;

洛书上,纵、横、斜三条线上的三个数字,其和皆等于15,十分奇妙。

对此,中外学者作了长期的探索研究,认为这是中国先民心灵思维的结晶,是中国古代文明的第一个里程碑。《周易》和《洪范》两书,在中华文化发展史上有着重要的地位,在哲学、政治学、军事学、伦理学、美学、文学诸领域产生了深远影响。作为中国历史文化渊源的河图洛书,功不可没。

一,河图之象

河图用十个黑白园点表示阴阳、五行、四象,其图为四方形。如下:
北方:一个白点在内,六个黑点在外,表示玄武星象,五行为水。
东方:三个白点在内,八个黑点在外,表示青龙星象,五行为木。
南方:二个黑点在内,七个白点在外,表示朱雀星象,五行为火。
西方:四个黑点在内,九个白点在外,表示白虎星象,五行为金。
中央:五个白点在内,十个黑点在外,表示时空奇点,五行为土。
(其中,单数为白点为阳,双数为黑点为阴。四象之中,每象各统领七个星宿,共28宿。)以上为《河图》。其中四象,按古人座北朝南的方位为正位就是:前朱雀,后玄武,左青龙,右白虎。此乃风水象形之源也。

二,河图之数

1,天地之数:河图共有10个数,1,2,3,4,5,6,7,8,9,10。其中1,3,5,7,9,为阳,2、4、6、8、10、为阴。阳数相加为25,阴数相加得30,阴阳相加共为55数。所以古人说:天地之数五十有五,即天地之数为55,以成变化而行鬼神也。即万物之数皆由天地之数化生而已。

三、Java二维数组表示方法

package StrTest;

public class luoshu {
	public static void main(String[] args) {
		/**
		 * 2 9 4<br/>
		 * 7 5 3<br/>
		 * 6 1 8<br/>
		 * 先计算是个脚的数字与中间的数字,<br/>
		 * 最后边上中间的就能算出来了。<br/>
		 */
		int d = 0;
		int i = 0;
		// 创建int数组,用来存储4个边角数字
		int[] corner = new int[4];
		// center用来存储中央的数字
		int center = 0;
		for (int a = 1; a < 10; a++) {
			for (int b = 1; b < 10; b++) {
				if (a != b) {
					for (int c = 1; c < 10; c++) {
						if (a != c && b != c) {
							int x = a + b + c;
							if (x == 15) {
								d++;
							}
						}
					}
				}
			}
			if (d == 6) {
				System.out.println("角数字是" + a);
				corner[i] = a;
				i++;
				d = 0;
			}

			if (d == 4) {
				d = 0;
			}
			if (d == 8) {
				System.out.println("中间数字是" + a);
				center = a;
				d = 0;
			}
		}
		// 第一行中间的数字为
		int m1 = 15 - corner[0] - corner[1];
		// 最后一行中间的数字为
		int m2 = 15 - corner[2] - corner[3];
		// 左边列中间的数字为
		int m3 = 15 - corner[0] - corner[2];
		// 左边列中间的数字为
		int m4 = 15 - corner[1] - corner[3];
		System.out.println(corner[0] + "  " + m1 + "  " + corner[1]);
		System.out.println(m3 + "  " + center + "  " + m4);
		System.out.println(corner[2] + "  " + m2 + "  " + corner[3]);
	}
}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。