以下是引用gui_my在2012-2-12 17:46:00的发言:; M9 m' e$ S2 @$ H! g. l. J
水小子学弟、三叶草学妹智慧!言之有理,稍加变换,就可以计算每一年份的实际年龄。但其原理是什么呢?我想搞明白。大家再一起动动脑筋。
* x; S. O- a7 K- g' H% B( I9 _俺试活试活。 % `0 v7 |8 o0 z0 g8 d7 Z
设 x 为一个大于等于零整数。 3 l2 f9 O0 V: L- J
( M; D7 g- b8 l! P6 W2 x+ \当 0<= x <=99 时, ( u& w. j/ {4 n* e( y: m/ x7 B
通式可以表示为: x=10*a1+a0 --------(1)
+ |! K" \# N6 j E& N9 H其中: a0={0,1,2,...,9}, a1={0,1,2...,9} ( L; ^3 Y0 H, }; @3 X' Z% ]1 V1 `
" V3 \; f: P/ a% `" ?* p
当 0<= x <=999 时, $ N+ _0 p, f+ [* z
通式可以表示为: x=100*a2+10*a1+a0 ---------(2)
: s/ O; d, o. P, `1 D其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}
6 _# m3 L2 k7 ?' a% ` ; Q7 z. f6 M, S. W6 u0 _
当 0<= x <=9999 时, ) g1 B" u# ~4 _8 a: w# w3 a. [3 I
通式可以表示为: x=1000*a3+100*a2+10*a1+a0 ----------(3) % i& t% {! U% R
其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}, a3={0,1,2,...,9}
. Z7 S! g" H; v" i
- G7 \7 q! P- n# A; c/ M+ o当 。。。以此类推。 ' ~8 R8 n$ u/ G, n* i: X* a, Q0 G% d
# A. C/ D/ s+ U. _# \9 R# s- l6 H游戏的发明者应用了第二个表达性质,只是把10*a1+a0 变换成从当年计算的实际年龄,就如三叶草列出的关系式:
! v# {* @; ` ~. V7 h3 t# z& O1 e5 ] 100*x+实际年龄 x={0,1,2...9} -----------(4) / }* e* D+ G/ X; `: D
( x' k3 c# T7 U! P; Y(4)式说明,99以下的实际年龄选取不影响百位。所以上式构成的三位数的百位只和游戏中所要求选取的 x 取值有关。那些2,5,50,1762数字是弯弯绕,起迷惑作用。这些数字可以自选,甚至都可以弄成小数点儿,但最后一定要满足“100*x+实际年龄” 这个关系。比如,选x=4,再乘4,再加8,然后乘25,再加1810,再减去出生年,得出的三位数的第一位是4,后两位准是2010年当年的实际年龄。 7 _9 p5 X) U0 }- E) Z5 h/ D8 @- L2 E
2 m: i; r+ y2 F2 x
想算100岁到999岁,该怎么办呢?。。。。呵呵,我就不多献丑了。 ( ^6 n( H: Q4 {1 k; j
+ f- S, n; \3 n) X4 Y
: r3 H9 g( k6 e$ F[此贴子已经被作者于2012-2-13 5:09:15编辑过] |