華為研發工程師程式設計題 1 汽水瓶

2021-07-11 12:17:07 字數 3529 閱讀 4311

試題:

有這樣一道智力題:「某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?」答案是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個空...