以下是引用gui_my在2012-2-12 17:46:00的发言:9 E; F: l- E' @' y7 e+ o% W! d0 C
水小子学弟、三叶草学妹智慧!言之有理,稍加变换,就可以计算每一年份的实际年龄。但其原理是什么呢?我想搞明白。大家再一起动动脑筋。
x& r/ C" ~, e& l俺试活试活。 - R8 y* N5 A/ d3 `: I, `. @
设 x 为一个大于等于零整数。 $ v* \/ K+ `6 E9 s) k
$ }( ]$ l: D0 f8 M6 e3 ^3 ^
当 0<= x <=99 时,
8 s4 N: c' `* Q }通式可以表示为: x=10*a1+a0 --------(1)
0 @& D6 k$ U W4 A. g8 x: `7 q其中: a0={0,1,2,...,9}, a1={0,1,2...,9}
7 t' C# x- w* {3 G$ F5 r7 g; d
8 N; m# u1 B' A5 Y! k$ d. r当 0<= x <=999 时, & Q( a+ W7 a% Z3 V" b# ]# D
通式可以表示为: x=100*a2+10*a1+a0 ---------(2)
' ]5 ~; ?# c. Y/ z5 n其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}
1 `% U8 J, r) m" M: r4 F2 ^ y$ p$ A) @8 I/ J8 |7 @
当 0<= x <=9999 时,
8 t# c6 s, y0 y" }通式可以表示为: x=1000*a3+100*a2+10*a1+a0 ----------(3) 6 ^8 q8 U( r+ v6 K+ D
其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}, a3={0,1,2,...,9} 4 ]. E# c, j7 h8 a9 E( ]* { Y
! H8 N8 @/ p& V7 u+ x& [3 S3 w
当 。。。以此类推。
/ u2 e4 h* X% c1 w* R O& u & b% @4 U, j( M7 U
游戏的发明者应用了第二个表达性质,只是把10*a1+a0 变换成从当年计算的实际年龄,就如三叶草列出的关系式:
5 ]8 B$ g. G. d7 C 100*x+实际年龄 x={0,1,2...9} -----------(4) 7 c) F* J6 a4 Y ?$ j
: ^' c' ?) h0 }1 I! T' ](4)式说明,99以下的实际年龄选取不影响百位。所以上式构成的三位数的百位只和游戏中所要求选取的 x 取值有关。那些2,5,50,1762数字是弯弯绕,起迷惑作用。这些数字可以自选,甚至都可以弄成小数点儿,但最后一定要满足“100*x+实际年龄” 这个关系。比如,选x=4,再乘4,再加8,然后乘25,再加1810,再减去出生年,得出的三位数的第一位是4,后两位准是2010年当年的实际年龄。
; q9 ~/ D$ ^ y+ C# Z% a h: R
3 B( l$ ]4 G; L: H想算100岁到999岁,该怎么办呢?。。。。呵呵,我就不多献丑了。
" V: p2 m+ K+ b4 L5 H- E, ? 5 d8 q4 o# y @- l2 r: P0 X9 z* u
5 N1 x2 i$ ]9 ^7 T9 l+ q' M- X[此贴子已经被作者于2012-2-13 5:09:15编辑过] |