以下是引用gui_my在2012-2-12 17:46:00的发言:4 J! S, @6 @5 t" T/ e2 F
水小子学弟、三叶草学妹智慧!言之有理,稍加变换,就可以计算每一年份的实际年龄。但其原理是什么呢?我想搞明白。大家再一起动动脑筋。
# X: T- O) l& v/ L俺试活试活。 ' ?4 w% m. \ F7 _
设 x 为一个大于等于零整数。 + v; r9 k i$ Q% Q
9 |7 h( d. A; w, u当 0<= x <=99 时,
% D: O9 u) b$ Z3 H通式可以表示为: x=10*a1+a0 --------(1) 1 G# m a2 W" ]0 p$ J8 H: U
其中: a0={0,1,2,...,9}, a1={0,1,2...,9} 6 d5 O; n9 q/ z4 \
$ t6 n1 {# Z$ b' K0 d当 0<= x <=999 时, 0 W4 T3 \4 P2 ]" w' ~
通式可以表示为: x=100*a2+10*a1+a0 ---------(2)
1 C7 R+ J, D2 X8 \$ N# `0 e其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}
1 n* ^# v9 z- J/ \9 p2 @, ?" Y $ S4 q4 _+ U/ }( J( @5 {
当 0<= x <=9999 时,
# p, P. |% w; M O5 ?- K5 \通式可以表示为: x=1000*a3+100*a2+10*a1+a0 ----------(3) 5 B, @1 ~# D5 o) s
其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}, a3={0,1,2,...,9}
: J) v) P& B& z+ F1 I- u/ L! g K. [! L$ O3 C
当 。。。以此类推。 4 Q9 N* U' \. f
) Z3 `4 d( u3 v) r1 G h3 f+ m1 Y
游戏的发明者应用了第二个表达性质,只是把10*a1+a0 变换成从当年计算的实际年龄,就如三叶草列出的关系式:
, M8 i5 \6 _% C4 X/ r! g 100*x+实际年龄 x={0,1,2...9} -----------(4)
' f: q) X e3 |
, v2 B" g* }: K* s: b$ E(4)式说明,99以下的实际年龄选取不影响百位。所以上式构成的三位数的百位只和游戏中所要求选取的 x 取值有关。那些2,5,50,1762数字是弯弯绕,起迷惑作用。这些数字可以自选,甚至都可以弄成小数点儿,但最后一定要满足“100*x+实际年龄” 这个关系。比如,选x=4,再乘4,再加8,然后乘25,再加1810,再减去出生年,得出的三位数的第一位是4,后两位准是2010年当年的实际年龄。 4 q6 _6 z; K+ E& u) p
# `- A9 F: V" A. o5 @
想算100岁到999岁,该怎么办呢?。。。。呵呵,我就不多献丑了。
% S0 p, c$ f: k; C. p( ?% z- A
2 X5 F+ |8 G* |" h. a
* K6 o& T6 w7 c' h[此贴子已经被作者于2012-2-13 5:09:15编辑过] |