LEGO赤道仪数据验证
- 2012年04月30日
今天测算了一下老胡做的LEGO赤道仪的旋转速度。在18分钟内,安装在其上的激光笔在4.5米之外、1.1米高的位置投射的光点移动了357毫米,这就是说,每秒,它旋转的角度是arcsin(0.357/4.6325) / 18 / 60 = 14.73角秒,这样,每个恒星日(23小时56分钟4秒),它的旋转角度是352.62度,和360度完美圆周相差2%。考虑到激光笔的投射距离是用地毯拼块和A4纸测量出来的,2%的误差完全在我的期望范围内。
按 ‘ math ’ 分类归档
今天测算了一下老胡做的LEGO赤道仪的旋转速度。在18分钟内,安装在其上的激光笔在4.5米之外、1.1米高的位置投射的光点移动了357毫米,这就是说,每秒,它旋转的角度是arcsin(0.357/4.6325) / 18 / 60 = 14.73角秒,这样,每个恒星日(23小时56分钟4秒),它的旋转角度是352.62度,和360度完美圆周相差2%。考虑到激光笔的投射距离是用地毯拼块和A4纸测量出来的,2%的误差完全在我的期望范围内。
老胡拿LEGO零件做了一个赤道仪。只要在图片上方的齿轮大孔里装一个寻星镜,并对准北极星,那么,左上角的螺钉上安装的照相机相对星空就是静止的,可以避免长时间曝光的星体拉丝现象。赤道仪有马达驱动,齿轮大孔的旋转速度是每天360°。整个部件仅仅重五百克。
盛赞老胡!
张家有财一千万,邻家九个穷光蛋。平均起来算一算,个个都是张百万。
统计局这么权威专业的部门,不需要说谎,就可以把我等愚民玩弄于股掌之上。“平均值”是大家最常听到的,不常听到的是“中值”:把数字按大小顺序排好,正中间那个就是。中值极其顽固,绝不会因为贫民窟里来了个亿万富翁,就给人造成经济 腾飞的假象。所以统计局对此数讳莫如深。
【北京市统计局:北京人均GDP达12447美元 接近富裕国家水平】北京去年实现地区生产总值1.6万亿元人民币,按可比价格计算,比上年增长8.1%;人均地区生产总值按年平均汇率折合12447美 元,接近富裕国家水平。——北京市统计局新闻发言人于秀琴在2012年1月19日举行的一场发布会上透露。
昨晚上见到了去年暑期辅导过的一个学生的父母,也都是我的朋友。问他们学生现在怎么样了?他们说,已经上不了一〇一中了,原因是文化课一直不行,她虽然有体育特长,但是教练还是得看文化课的——教练可不敢因为训练的原因把孩子的文化课分数拉下来。眼前这学生要上高一了,可她的分数根本够不着一〇一的分数线,就连次一点的高中,恐怕她都只有听人家挑挑拣拣的份。
我听到这个倒是不太意外。上次辅导的时候,就发现只要一听讲,学生就坐在椅子上当场陷入了梦乡。 (不过,这也许说明我和一〇一中学的老师一样不会培养学生的兴趣)给她布置的作业,她倒是都能按时做完,但是质量不能保证。例如下面的化简过程:
(x + y)2
= x2 + y2
= 2x + 2y
她的父母说,现在孩子还是上课打盹。
我问他们,那你们觉得学生自己着急么?做妈的说,她现在就是两件事起劲:一是看韩剧,二是睡觉。做爸的说,她自己心里应该是很闷的,可就是找不到出路。做爸的看起来像是若无其事,做妈的痛心之情溢于言表。
我也很痛心啊,那么高效实用的应试学习方法就这么浪费掉了。
他们想让学生蹲初三,就怕学生不愿意。我说,现在她眼前的路已经不宽了。除非她的体育特长够她入选国家队,否则她走到哪儿,人家都得看她的文化课成绩。既然走纯体育路线行不通,咱们就得硬着头皮说文化课。现在要是给她上高中,估计没有好学校可上。她本来的底子再被这么一折腾,纯粹是浪费她的三年时间和你们的经费。如果她蹲一年,明年或许还有赶上一所中上等高中的希望。在北京这地方,上个普通的高中,成绩能及格,基本上就有大学上了吧—— “千军万马过独木桥”这句话,也就是对我这小地方来的人说的。
其实,我们怕的不是学生不愿意,怕的是她睡眼朦胧地说“都行,你们看着办”。
我不知道现在的学生都怎么想的。莫非都以为父母是可以吃一辈子的?我那个侄女也是高考考砸了,整天若无其事地上网聊天,父母还不能提,一提就心烦。(居然还知道心烦,可见没到最高境界)还有个朋友家的孩子考完了都不知道满分应该是多少。
这位学生的母亲已经急得满嘴泡了,很担心她还能支撑多久呢。
我又问他们,要不你们能不能找到一个她怕的人,给她提神用?我当年就是怕我妈。说得更精确些,我就怕我妈看到我学习成绩差时哭。有这么个提神醒脑的人在旁边,我就能不困不乏地学下去。
学生的妈说,她现在倒是非常想放声大哭,可就是怕学生跟她做朋友久了,完全不在乎。
痛心。
据说这是98%的人一小时也做不出来的题目。在网上看见,一时技痒,编了个程序来解,总算落到那2%里面了。哈哈。
请回答下面10个问题:
1、第一个答案是b的问题是哪一个?
(a)2;(b) 3;(c)4;(d)5;(e)6
2、唯一的连续两个具有相同答案的问题是:
(a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7
3、本问题答案和哪一个问题的答案相同?
(a)1;(b)2;(c)4;(d)7;(e)6
4、答案是a的问题的个数是:
(a)0;(b)1;(c)2;(d)3;(e)4
5、本问题答案和哪一个问题的答案相同?
(a)10;(b)9;(c)8;(d)7;(e)6
6、答案是a的问题的个数和答案是什么的问题的个数相同?
(a)b;(b)c;(c)d;(d)e;(e)以上都不是
7、按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
(a)4;(b)3;(c)2;(d)1;(e)0。(注:a和b相差一个字母)
8、答案是元音字母的问题的个数是:
(a)2;(b)3;(c)4;(d)5;(e)6。(注:a和e是元音字母)
9、答案是辅音字母的问题的个数是:
(a)质数;(b)阶乘数;(c)平方数;(d)立方数;(e)5的倍数
10、本问题的答案是:
(a)a;(b)b;(c)c;(d)d;(e)e
唯一的答案是CDEBEEDCBA,算法如下:
#include <stdio.h> int a[10]; void select(int n, int answer); void main() { int i; for (i = 'a'; i <= 'e'; i++) select(0, i); } void select(int n, int answer) { int i; int same, pos; int asum, bsum, csum, dsum, esum; int diff; a[n] = answer; if (n < 9) { for (i = 'a'; i <= 'e'; i++) select(n + 1, i); return; } /* 1 */ for (i = 0; i < 6; i++) if (a[i] == 'b') break; if (i < 1 || i > 5 || a[0] != 'a' + i - 1) return; /* 2 */ same = 0; pos = 0; for (i = 0; i < 9; i++) if (a[i] == a[i+1]) { if (same) return; same = 1; pos = i; } if (pos < 1 || pos > 5 || a[1] != 'a' + pos - 1) return; /* 3 */ if (a[2] == 'a' && a[0] != a[2]) return; if (a[2] == 'b' && a[1] != a[2]) return; if (a[2] == 'c' && a[3] != a[2]) return; if (a[2] == 'd' && a[6] != a[2]) return; if (a[2] == 'e' && a[5] != a[2]) return; /* 4 */ asum = 0; bsum = 0; csum = 0; dsum = 0; esum = 0; for (i = 0; i < 10; i++) { switch (a[i]) { case 'a': asum++; break; case 'b': bsum++; break; case 'c': csum++; break; case 'd': dsum++; break; case 'e': esum++; break; } } if (asum != a[3] - 'a') return; /* 5 */ if (a[9+'a'-a[4]] != a[4]) return; /* 6 */ if (asum == bsum && a[5] != 'a') return; if (asum == csum && a[5] != 'b') return; if (asum == dsum && a[5] != 'c') return; if (asum == esum && a[5] != 'd') return; if ((asum == bsum || asum == csum || asum == dsum) && a[5] == 'e') return; if ((bsum == csum || csum == dsum || dsum == esum || esum == bsum || esum == csum || bsum == dsum) && a[5] != 'e') return; /* 7 */ diff = a[6] - a[7] > 0 ? a[6] - a[7] : a[7] - a[6]; if (a[6] != 4 - diff + 'a') return; /* 8 */ if (asum + esum < 2 || asum + esum > 6 || a[7] != 'a' + asum + esum - 2) return; /* 9 */ switch (bsum + csum + dsum) { case 3: case 7: if (a[8] != 'a') return; break; case 4: case 9: if (a[8] != 'c') return; break; case 6: if (a[8] != 'b') return; break; case 8: if (a[8] != 'd') return; break; case 10: if (a[8] != 'e') return; break; default: return; } /* 10 */ /* print solution */ for (i = 0; i < 10; i++) putchar(a[i]); putchar('\n'); }