以下是引用gui_my在2012-2-12 17:46:00的发言:
7 V5 \ G* J, Y8 w$ I水小子学弟、三叶草学妹智慧!言之有理,稍加变换,就可以计算每一年份的实际年龄。但其原理是什么呢?我想搞明白。大家再一起动动脑筋。 # ^* A& Q- S! d: l5 |. e( N- e
俺试活试活。
" @$ b$ e$ E, C5 s6 t2 E0 L设 x 为一个大于等于零整数。
/ a% K |9 K* L$ a( q& T4 | - |6 m; k; ~7 Y
当 0<= x <=99 时, 4 [- T3 S! H6 @ }2 O3 a& Z: k
通式可以表示为: x=10*a1+a0 --------(1) 3 J! L' C9 q& S1 A, y+ }( N/ D8 z1 r
其中: a0={0,1,2,...,9}, a1={0,1,2...,9} 2 i) M5 g$ m/ x( D, l- Z- g1 X0 b
" L4 p4 |, [9 H! i1 @4 V1 C当 0<= x <=999 时, / _2 ]- O9 \# |/ i. I/ b4 p
通式可以表示为: x=100*a2+10*a1+a0 ---------(2)
4 Q6 F' {) i7 L其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}
6 r: U8 l+ O$ u5 P( r2 r5 ?) K % j/ P, i, b3 b! i$ x t
当 0<= x <=9999 时,
7 W3 [& B8 h5 k# z# a& g* k通式可以表示为: x=1000*a3+100*a2+10*a1+a0 ----------(3) 6 f6 D [4 k7 Q# o6 t
其中: a0={0,1,2,...,9}, a1={0,1,2...,9}, a2={0,1,2,...,9}, a3={0,1,2,...,9}
: G* ?4 U- ^' {, o' P ~& r% n0 \
5 K5 u! \$ \' c4 i5 z; p, n" F9 F当 。。。以此类推。 : k% ^' [- J; S+ ~0 n' }. a4 I
$ j9 E P3 f5 F5 a游戏的发明者应用了第二个表达性质,只是把10*a1+a0 变换成从当年计算的实际年龄,就如三叶草列出的关系式: " n7 ~- ?( h0 y7 y! X% y ]
100*x+实际年龄 x={0,1,2...9} -----------(4) " x3 g6 d9 s! ~, D$ S
* E* b: z" U7 D8 `( S5 Z% t) r(4)式说明,99以下的实际年龄选取不影响百位。所以上式构成的三位数的百位只和游戏中所要求选取的 x 取值有关。那些2,5,50,1762数字是弯弯绕,起迷惑作用。这些数字可以自选,甚至都可以弄成小数点儿,但最后一定要满足“100*x+实际年龄” 这个关系。比如,选x=4,再乘4,再加8,然后乘25,再加1810,再减去出生年,得出的三位数的第一位是4,后两位准是2010年当年的实际年龄。
; s- Y3 D3 _& x R! |3 K 3 v5 E' o1 R9 L. n
想算100岁到999岁,该怎么办呢?。。。。呵呵,我就不多献丑了。
7 s1 W0 n* @9 e( m2 d5 E ; j2 h& A) E+ L8 [! ]
* L, p5 ^' V: G0 R- B
[此贴子已经被作者于2012-2-13 5:09:15编辑过] |