/**
问题1:猴子吃桃
有一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,有又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半后又多吃了一个.到第10天早上再想吃的时候,只剩下一个桃子了,求第一天共摘了多少个桃子?
// 答案:第1天摘了1534个,吃了768个,剩余766个
*/
- (void)houZiChiTao {
int n = 1;
NSLog(@"第10天剩余%d个",n);
for (int i = 2; i <= 10; i++) {
n = (n + 1) * 2;
int d = 10 - i + 1;
if(d == 1) {
NSLog(@"第%d天摘了%d个,吃了%d个,剩余%d个",d,n,n / 2 + 1,n - (n / 2 + 1));
} else {
NSLog(@"第%d天剩余%d个,吃了%d个,剩余%d个",d,n,n / 2 + 1,n - (n / 2 + 1));
}
}
}
/**
问题2:猴子吃桃
有一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,有又多吃了m个,第二天早上又将剩下的桃子吃掉一半,又多吃了m个,以后每天早上都吃了前一天剩下的一半后又多吃了m个.到第n天早上再想吃的时候,只剩下一个桃子了,求一共摘了多少个桃子?
*/
// m:每天多吃多少个,n:多少天吃完
- (int)houZiChiTaoWithM:(int)m n:(int)n {
int j = 1;
NSLog(@"第%d天,剩余%d个桃子",n,j);
for (int i = 2; i <= n; i++) {
j = (j + m) * 2;
NSLog(@"第%d,剩余%d个",n - (i - 1),j);
}
NSLog(@"一共有%d个",j);
return 0;
}
// 方法2
- (void) allEatTaoWithM:(int)m n:(int)n {
int j = 1;
for (int i = n - 1; i >= 1; i--) {
j = 2 * (j + m);
NSLog(@"第%d,剩余%d个",i,j);
}
NSLog(@"%d",j);
}
// 方法3
//用递归计算,k第几天,m每天多吃多少个,n多少天吃完只剩1个
// int d = [self houZiChiTaoWith:1 m:2 n:10];答案2556
- (int)houZiChiTaoWith:(int)k m:(int)m n:(int)n {
int t;
if (k == n) {
t = 1;
} else {
t = 2 * ([self houZiChiTaoWith:k + 1 m:m n:n] + m);
}
return t;
}
猴子吃桃
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...