来, 给大家出道题目做做.
写一段程序, 要求, 输入几个数字, float 的, 并给出一个结果, 将这些数字相加, 但是不能将一个数字重复加相同的数字, 列举相加的结果, 如果结果等于给定的结果, 就给出相加的表达式, 如果没有, 就取和结果最近的一个表达式9 s" V& M) H E! K2 \- y
例如输入 1, 2, 3, 4, 我们可以这么加:
! ?$ V8 G8 V+ q1+2
1 f* g2 v7 Y, G2 }也可以
" B+ P! k, ]' G% D3 n2+3* f6 h- A! h' B4 B! j' p* U6 _
也可以
3 T, R9 l" d0 a0 C* O1+2+3* Q4 ?1 c4 w0 H& n! K4 ]1 q
但是不能
+ q$ O1 T0 S& W1+1+1 A5 }5 _( ]+ G" C2 M# z" M
或者 1+2+2, ! H4 c0 t# F9 c) Y
6 D. c b: \# O# X3 N( f! K3 E
一个数字只能在表达式里面用一次.
' k: E$ r0 o2 Z' g3 v% u& W0 w
/ }' ~+ Y* S; M' j6 B举例1:9 ? ^# r" a- i& p l( o
输入 1, 2, 3, 4
4 P1 C9 o7 k. o5 A ~4 @需要的结果是 3, K' Y4 E8 v v7 l0 g ^
4 p9 x3 L, a7 v% C2 P那么输出 1+2 = 3 就可以结束了
/ S; B! X7 |) b4 M! W& j' ]3 }: {# B9 ?
举例 2, 6 l- C" w6 s# w/ I
输入1.23, -2.1, 28% i. E3 V5 H( V6 l2 f8 n4 \
需要的结果是: -10.2$ W) |$ D! o' Y
那么输出 1.23 + -2.1 = -0.87. 8 Y5 {/ [; j* j% v. W U
这是最接近的结果, 和需要的结果相差 9.33: L4 o1 B6 V( L0 v% a
/ t4 l. N$ d& ?4 c F% Z9 g4 h呵呵, 大家来做做看