• 猴子吃桃问题


    问题描述

          有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m<29)

     
    输入
    第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天);
    输出
    每一行数据是桃子的总个数
            样例输入
          2
          3
          11
            样例输出
        22
        6142

    问题分析 方法有好几种,可以正推,也可以逆推,以下是几种代码:

    #include<stdio.h>
    int main()
    {
      int i, s = 1;
       for(i=9;i>0;i--)
             s=(s+1)*2;
       printf("%d ",s);
       }   //这是下面代码的原形

    代码 1

    #include<stdio.h>
      main()
    {
      int m,n;
        scanf("%d",&n);
      while(n--) 
     {
       int i,s=1;
        scanf("%d",&m);
       for(i=m;i>0;i--)
          s=(s+1)*2;  //递推公式
       printf("%d ",s);
     }
    } //这是逆推法,利用i的自减

    代码2

    #include<stdio.h>
    main()
    {
    int n,m,i,s;
    scanf("%d",&n);
    while(n--)
    {
    s=1;
    scanf("%d",&m);
    for(i=1;i<=m;i++)
    s=(s+1)*2;
    printf("%d ",s);

    }
    }  //正推法,利用i的自加

  • 相关阅读:
    ATM代码及遇到的问题总结
    暑假日报-52
    暑假日报-51
    暑假日报-50
    暑假日报-49
    暑假日报-48
    线段树优化建图(炸弹 + 选课)
    联考day2 C. 舟游
    联赛模拟测试5题解
    第19周作业
  • 原文地址:https://www.cnblogs.com/hechuxunni/p/4805916.html
Copyright © 2020-2023  润新知