試題:
有這樣一道智力題:「某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?」答案是5瓶.
方法如下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空瓶子換一瓶滿的還給老闆。如果小張手上有n個空汽水瓶,最多可以換多少瓶汽水喝?
輸入描述:
輸入檔案最多包含10組測試資料,每個資料佔一行,僅包含乙個正整數n(1<=n<=100),表示小張手上的空汽水瓶數。n=0表示輸入結束,你的程式不應當處理這一行。
輸出描述:
對於每組測試資料,輸出一行,表示最多可以喝的汽水瓶數。如果一瓶也喝不到,輸出0。
輸入例子:
輸出例子:
#define _crt_secure_no_warnings
#includevoid bottle(int arr)
} printf("%d\n", count);
}int main()
return 0;
}
永遠要記住:迴圈演算法都能用遞迴實現,二遞迴演算法卻不一定能夠被迴圈實現。
在方法一的基礎上,繼續思考怎麼能用遞迴實現該演算法呢?思考一下...
#define _crt_secure_no_warnings
#includeint algorithm(int n)
int main()
return 0;
}
這道題的實質是一道數學找規律的問題,然而規律卻不容易被發現,怎麼辦呢,先列印一百個資料試一下吧...
#define _crt_secure_no_warnings
#include#define size 100
int algorithm(int n)
int main()
; for (int i = 0; i < size; i++)
return 0
}
輸出結果:
1 0
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55 27
56 28
57 28
58 29
59 29
60 30
61 30
62 31
63 31
64 32
65 32
66 33
67 33
68 34
69 34
70 35
71 35
72 36
73 36
74 37
75 37
76 38
77 38
78 39
79 39
80 40
81 40
82 41
83 41
84 42
85 42
86 43
87 43
88 44
89 44
90 45
91 45
92 46
93 46
94 47
95 47
96 48
97 48
98 49
99 49
100 50
看出規律了沒,用整數除以2所得的整數就是結果了。
#define _crt_secure_no_warnings
#includeint main()
over!!!
提交的程式:c**
#define _crt_secure_no_warnings
#includeint algorithm(int n)
int main()
return 0;
}
c++**:
#includeusing std::cout;
using std::cin;
using std::endl;
int algorithm(int n)
int main()
return 0;
}
華為研發工程師程式設計題 汽水瓶問題
題目 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用...
華為程式設計題 汽水瓶
1 程式設計題 汽水瓶 時間限制 1秒 空間限制 32768k 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶...
程式設計題 汽水瓶
有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空...