1瓶汽水1元,2个空瓶可以换一瓶汽水
2018-03-18 13:10
351 查看
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
在处理这个问题时,将问题简化一下:两个空瓶能换一瓶汽水,20个空瓶能换多少瓶汽水。这两个问题虽然不是等价的,但是转换之后就把问题简化了。
int iteration_water(int x) //迭代写法 { int set = x;//set 能喝到的汽水总数 while (1 < x) { if (x > 1 && 1 == x % 2)//当空瓶子为奇数时 { x = (x - 1) / 2;//瓶子换回的汽水瓶数,拿掉多余的一个空瓶 set += x;//加上换回的汽水 x += 1;//加上被减掉的一个空瓶 } else { x /= 2; set += x; } } return set; } int water(int x)//递归写法 { if (1 >= x) { return x; } if (/*(x >1 )&&*/ (1 == (x % 2))) { return water((x-1) / 2) + x +1;//拿掉多余的空瓶,换完之后再加上 } else { return water(x/2)+x; } } int main1() { int a = 20; printf("%d\n", water(a)); printf("%d\n", iteration_water(a)); return 0; }
在处理这个问题时,将问题简化一下:两个空瓶能换一瓶汽水,20个空瓶能换多少瓶汽水。这两个问题虽然不是等价的,但是转换之后就把问题简化了。
相关文章推荐
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以买多少汽水
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- .喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- C语言- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水?
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。
- 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。
- 面试,递归:买汽水,1块钱可以买1瓶汽水,2个空瓶可以换一瓶汽水,3个瓶盖可以换一瓶汽水,问:20块可以买到多少瓶汽水
- 1元一瓶汽水,喝完后2个瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水?
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水, 现在有20元,最多能喝多少瓶汽水。(编程实现)。
- 1元钱买一瓶汽水,2个空瓶换一瓶汽水,3个瓶盖换一瓶汽水,问:3块钱能和多少瓶汽水?
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水,现有X元,最多能喝多少瓶汽水。
- 每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
- 2元钱1瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶