三个空瓶换一瓶
来源:互联网 发布:ipp软件下载 编辑:程序博客网 时间:2024/04/25 09:20
问题:商店促销饮料,三个空瓶可以换取一瓶,现在有n个人,一共需要购买多少瓶?
思想:一共n个人,就先买n瓶,买n瓶可以获得最后能喝多少(result)瓶;如果result>n,则继续计算买n-1瓶最后能喝多少瓶,…一直计算到result < n,这时候假如是购买a瓶的时候,则购买a+1瓶才够n个人喝;
分两步实现:
第一步:递归出买b瓶最后能喝多少瓶(result);
第二步:判断第一步计算的result与总人数(n)的关系
@property(assign, nonatomic) NSInteger result;#pragma 一共N个人,返回需要购买的瓶数-(NSInteger)personCount:(NSInteger)personCount{ //一共N个人,返回需要购买的瓶数 for (NSInteger i = personCount; i > 0; i --) { self.result = i; [self buyCount:self.result]; if (self.result < personCount) { self.result = i + 1; [self buyCount:self.result]; personCount = i + 1; return i + 1; } } return personCount;}#pragma 购买n瓶,返回最后能喝多少瓶-(NSInteger)buyCount:(NSInteger)buyCount{ //购买n瓶,返回最后能喝多少瓶 NSInteger b = buyCount / self.result; NSInteger c = buyCount % result; if (b > result) { self.result += b; [self buyCount:b + c]; } self.result += b; return self.result;}
0 0
- 三个空瓶换一瓶
- 2个空瓶换一瓶
- 一瓶可乐一块钱,三个空瓶子可以换一瓶可乐,如果现在有m块钱,能换多少瓶可乐。
- 一个酒鬼有20美元,三美元可以买一瓶酒,三个空瓶子可以换一瓶酒
- 一元钱一瓶水,两个空瓶可以换一瓶,三个盖儿可以换一瓶,20元最多能喝多少?
- 啤酒2元一瓶,四个瓶盖可换一瓶啤酒,2个空瓶也可换一瓶啤酒
- 3个空瓶换一瓶新酒的小问题
- 喝可乐问题,2个空瓶换一瓶可乐
- 递归陷阱——有27个人要喝水,每三个空瓶子可以换一瓶水,问需要买多少瓶水
- 瞎玩 - 一瓶啤酒2块,两个瓶盖送一瓶,四个空瓶换一瓶。20元一共可以喝几瓶
- 27个运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶
- 【原创】10元买啤酒2个空瓶换一瓶4个瓶盖换一瓶经典算法
- 2元可以买一瓶啤酒,4个瓶盖可以换一瓶,2个空瓶可以换一瓶,,10元最多可以喝多少瓶
- 【编程】两元一瓶饮料,两个空瓶子换一瓶饮料,四个瓶盖换一瓶饮料。求:10元最多能喝到几瓶饮料?
- 1元钱买一瓶汽水,2个空瓶换一瓶汽水,3个瓶盖换一瓶汽水,问:3块钱能和多少瓶汽水?
- 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个
- 防痴呆的:啤酒2元一瓶,四个瓶盖可换一瓶啤酒,2个空瓶也可换一瓶啤酒,10元最多可以喝多少瓶
- 题目描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空
- WWN,WWNN,WWPN区别
- Android利用tcpdump和wireshark抓取网络数据包
- JS判断浏览器
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- 函数模板和模板函数
- 三个空瓶换一瓶
- Makefile经典教程
- 第一章 计算机网络概论
- 深入理解递归函数的调用过程
- Maven 常用命令
- Exception in thread "main" org.hibernate.TransactionException: commit failed
- iOS:在objective-c 使用可变参数
- Android动画-Property Animation(一)
- 泛型