|||
先作标题党。再声明一下:本人对星座感兴趣,但是不相信那些所谓的占星术。
下学期的《面向对象程序设计》是在学生们学习了《C语言程序设计》的基础上讲授的。为了带领学生复习一下C语言的一些重点内容,讲解C++的输入输出以及VC++6.0的使用方法,我准备了一个求某个数的数字根(digital root)的例子。其中用到了求某个数的各位数字之和的功能,恰好可作为子函数及其调用的例子。
在查数字根的英文解释时,竟意外发现了一个有意思的东东,印度占星术(Vedic Star)。不同于12星座,Vedic Star只有9个,与数字根密切相关。Vedic Star到底是什么样子呢?这得先从Vedic Square说起。
Vedic Square是一个9×9的表,与九九乘法表类似,只是表的每个格不是行列序号的乘积,而是乘积的数字根。下图是Vedic Square。
如果把Vedic Square中的某个数字,比如1,换为“*”,而将其他的数字换为空白,得到的图形即为这个数字的Vedic Star。如下列各图所示。
1
2
3
4
5
6
7
8
9
于是,我要求学生编写程序打印Vedic Square和Vedic Star。又进一步向学生发出了邀请,你想知道你的Vedic Star吗?你的出生日期作为数字(比如19690811),其数字根即为你的Vedic Star。再进一步,继续邀请。你想知道你的最佳搭档的Vedic Star是什么吗?用9减去你的Vedic Star序号就是了。那么,你和你最佳搭档的Vedic Star结合在一起,又是什么形状呢?请看下图:
1和8
2和7
3和6
4和5
继续邀请。课堂上求数字根的方法用到了两重循环。其实,有一个更简单的求数字根的方法,你能凭直觉找到它吗?能够证明它的正确性吗?请参考下面的超链接。
Vedic Square: http://en.wikipedia.org/wiki/Vedic_square
Digital Root: http://en.wikipedia.org/wiki/Digital_root
有多少学生愿意接受并尝试我所有的邀请呢?我期待着。
Some properties of digital roots
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 01:12
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社