来, 给大家出道题目做做.
写一段程序, 要求, 输入几个数字, float 的, 并给出一个结果, 将这些数字相加, 但是不能将一个数字重复加相同的数字, 列举相加的结果, 如果结果等于给定的结果, 就给出相加的表达式, 如果没有, 就取和结果最近的一个表达式
, e7 b. S/ \# R, F- o# A9 C例如输入 1, 2, 3, 4, 我们可以这么加:( j2 [" V8 P1 \! v$ @- `: P
1+24 w% V( m9 T$ {7 W/ T4 B
也可以
) z5 g/ b1 v% l. Z2+3; e; M' L/ O% a6 [9 C
也可以
% f g2 _" |) |3 b1+2+3# J* T z7 E, W
但是不能% l9 W a/ z1 s. ?5 T$ r/ }
1+1+1$ }; U2 V+ P+ [/ C: q; c
或者 1+2+2,
2 u3 w# h! j" M' Y4 r" N" a5 k0 T9 ~7 V# x: ]! Q3 U1 [" ]
一个数字只能在表达式里面用一次.
* x0 ?$ ?! ?: x$ a8 y9 a- h9 N: t* n2 W" P4 F2 `7 W3 L
举例1:
2 z$ K5 i9 n; h& n输入 1, 2, 3, 4
( o9 P( Q& u) J7 o* K; m. M需要的结果是 30 {* W- e1 e3 v' v
7 S% Y9 ]: }; `( {. i' ?( h
那么输出 1+2 = 3 就可以结束了; b& A+ f' ]6 r1 s4 q, ~* Y: x$ ?
! C Y+ w0 t2 Y0 x! |% {8 C K
举例 2, 1 W6 |+ ]2 F7 q8 U+ `. h3 Y6 B8 j9 K
输入1.23, -2.1, 28+ u4 D" q/ h( U
需要的结果是: -10.2
' W9 h( d" x t- ]* Z那么输出 1.23 + -2.1 = -0.87.
- x0 |2 ?7 W! E2 c4 K% G0 s这是最接近的结果, 和需要的结果相差 9.336 B" ~ G; X% T4 P
( z9 G% ]% g% J0 ]7 H. m4 H6 K7 N/ l) }
呵呵, 大家来做做看