以下是引用gui_my在2012-2-12 17:46:00的发言:
; k9 N+ k8 O* R" a水小子学弟、三叶草学妹智慧!言之有理,稍加变换,就可以计算每一年份的实际年龄。但其原理是什么呢?我想搞明白。大家再一起动动脑筋。 , \: p( F, d Q6 v0 X
俺试活试活。 4 Q! T% H# d. M. k) [/ I7 d
设 x 为一个大于等于零整数。 ! O+ O7 |* O0 J" l
C1 X! J+ C6 d: D8 k" \
当 0<= x <=99 时, ( ^* X- y2 h. s( A3 P$ S* {
通式可以表示为: x=10*a1+a0 --------(1)
0 X( k7 j" P9 w B3 B其中: a0={0,1,2,...,9}, a1={0,1,2...,9}
# g) Z _3 d! b. i
0 b. w4 T4 z, s* Q' N- b当 0<= x <=999 时,
# z. i7 k' n* C) z! l) D' R" z通式可以表示为: x=100*a2+10*a1+a0 ---------(2)
# Y- K! W* V7 Z6 y3 ?( Q. X其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}
( j# Q' q+ D; X* B3 F) x% r, | $ U' U N7 X+ g: L. b1 s+ Q. @
当 0<= x <=9999 时,
% u: T* F. b6 ]$ r) a9 R: V0 k4 O通式可以表示为: x=1000*a3+100*a2+10*a1+a0 ----------(3) , E( K/ y1 N. ]
其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}, a3={0,1,2,...,9} 6 p$ K! `/ o1 a4 k& z
; F5 z8 T( Q$ t) n8 k
当 。。。以此类推。
# b! @/ ?6 A6 F; j7 s* d1 @+ I: [% q
! M) u$ I; h) a3 m' ~游戏的发明者应用了第二个表达性质,只是把10*a1+a0 变换成从当年计算的实际年龄,就如三叶草列出的关系式: - @' W. a. ]" y/ }6 w. j
100*x+实际年龄 x={0,1,2...9} -----------(4) ! v6 E2 t8 Q6 m S5 x
" T3 j: u! J9 t# D' m/ O(4)式说明,99以下的实际年龄选取不影响百位。所以上式构成的三位数的百位只和游戏中所要求选取的 x 取值有关。那些2,5,50,1762数字是弯弯绕,起迷惑作用。这些数字可以自选,甚至都可以弄成小数点儿,但最后一定要满足“100*x+实际年龄” 这个关系。比如,选x=4,再乘4,再加8,然后乘25,再加1810,再减去出生年,得出的三位数的第一位是4,后两位准是2010年当年的实际年龄。
! M& M3 X( {( n% l & q" M A& ~% v" A% L9 ?1 t
想算100岁到999岁,该怎么办呢?。。。。呵呵,我就不多献丑了。
$ \+ ^: G5 K8 n3 R
2 Q" @/ E4 Q7 x9 d! q( ~ 5 w4 @6 P: b& T% C+ d0 ^
[此贴子已经被作者于2012-2-13 5:09:15编辑过] |