先作标题党。再声明一下:本人对星座感兴趣,但是不相信那些所谓的占星术。

下学期的《面向对象程序设计》是在学生们学习了《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。如下列各图所示。

于是,我要求学生编写程序打印Vedic Square和Vedic Star。又进一步向学生发出了邀请,你想知道你的Vedic Star吗?你的出生日期作为数字(比如19690811),其数字根即为你的Vedic Star。再进一步,继续邀请。你想知道你的**搭档的Vedic Star是什么吗?用9减去你的Vedic Star序号就是了。那么,你和你**搭档的Vedic Star结合在一起,又是什么形状呢?课堂上求数字根的方法用到了两重循环。其实,有一个更简单的求数字根的方法,你能凭直觉找到它吗?能够证明它的正确性吗?请参考下面的超链接。

有多少学生愿意接受并尝试我所有的邀请呢?我期待着。

转载本文请联系原作者获取授权,同时请注明本文来自徐建良科学网博客。