美文网首页
猴子吃桃

猴子吃桃

作者: ZLEIi | 来源:发表于2017-03-24 13:15 被阅读0次
/**
 问题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;
}

相关文章

  • 猴子吃桃

  • 小猴子吃桃

    两只小猴子非常想吃对面河岸上的桃子,于是,一只小猴子出了一个主意。它说:“我们一个去找一只大盆,一个去找一根树枝。...

  • 猴子偷。。。呸,猴子吃桃问题

    Q:一只小猴子一天摘了许多桃子,第一天吃了一半,然后忍不住又吃了一个;第二天又吃了一半,再加上一个;后面每天都是这...

  • 方法递归||猴子吃桃

    猴子吃桃子问题:有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。...

  • 自学Python:猴子吃桃

    一个猴子摘了一些桃子,它第一天吃掉了其中的一半然后再多吃了一个,第二天照此方法又吃掉了剩下桃子的一半加一个。 以后...

  • 020. 猴子吃桃问题

    猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个; 以...

  • 猴子吃桃--递推与递归

    题目:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃...

  • 自学Python:猴子吃桃问题

    猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每...

  • 小练习:猴子吃桃问题(递归算法)

    //题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个//第二天早上又将剩下的桃子吃...

  • Rust语言编程实例100题-021

    Rust语言编程实例100题-021 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了...

网友评论

      本文标题:猴子吃桃

      本文链接:https://www.haomeiwen.com/subject/cdffottx.html