首页 > 其他分享 >猴子吃桃 递归 循环 等比数列

猴子吃桃 递归 循环 等比数列

时间:2024-04-16 21:11:39浏览次数:20  
标签:total 等比数列 递归 吃桃 peaches int return 桃子 day

do-while

#include<stdio.h>
int main()
{
  int n = 1;//第十天只剩下1个桃子,所以初始值为1
  int day = 9;//第十天是已知条件,所以循环从第九天开始
  do
  {
    n =(n+1)*2;//每天都是前一天的一半加1,所以这里计算后一天的桃子数
    day--;//天数减1
  }while(day>=0);//循环到第0天结束
  printf("原来有%d个桃子\r\n",n);
return 0;
}

for

#include<stdio.h>
#include<stdlib.h>
int main()
{
  int peach = 0;//桃子总数
  int rest = 1;//第10天只剩下一个桃子
  int day = 0;//
  for(day = 9 ;day>0;day--)
  {
    peach = (rest+1)*2;//每天的桃子总数是后一天剩余桃子加一乘2
    rest = peach;
  }
  printf("猴子第一天一共摘了%d个桃子\r\n",peach);
  system("pause");
  return 0;
}
##等比数列

int fun()
{
int na=10; //已知剩余的天数
double pa=1; //已知的剩余数
int nx=1; //欲求剩余的天数
double px; //欲求的剩余数
if((na-nx)>=0)
{
//函数原型:double ldexp(double num,int exp);
//返回:num*{2的exp次幂}
px=ldexp((1+2),(9))-2;
int i=(int)px;//取整数
printf("第一天共摘了%d只桃子\n",i);
}
return 1;
}

##递归

include <stdio.h>

int eat_peaches(int day, int total_peaches)
{
// 如果是第十天,则返回剩余的桃子数量
if (day == 10)
{
return total_peaches;
}

// 计算第day天剩下的桃子数量
int current_peaches = (total_peaches + 1) / 2;
// 递归调用下一天的吃桃过程
return eat_peaches(day + 1, current_peaches);

}

int main() {
// 第十天只剩下一个桃子
int total_peaches_on_tenth_day = 1;
// 调用递归函数计算第一天开始的剩余桃子数量
int remaining_peaches = eat_peaches(1, total_peaches_on_tenth_day);

printf("The total number of peaches on the first day: %d\n", remaining_peaches);

return 0;

}

标签:total,等比数列,递归,吃桃,peaches,int,return,桃子,day
From: https://www.cnblogs.com/doubleconquer/p/18139204

相关文章

  • 一行return 写一个递归函数! 20240414
    defmake_anonymous_factorial():returnlambdan:1ifn==0elsereduce(lambdax,y:x*y,range(1,n+1))这个函数make_anonymous_factorial的目的是创建并返回一个匿名函数(也称为lambda函数),该匿名函数能够计算一个给定非负整数n的阶乘。下面是对这个函数的详细......
  • C++算法题解 - 递归实现排列型枚举 - 递归法 (图文) (递归搜索树)
    题目:递归实现排列型枚举把1∼n这n个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据......
  • 可变参数、递归
    可变参数packagecom.xqstudy.method;publicclassDemo3{publicstaticvoidmain(String[]args){Demo3demo3=newDemo3();demo3.test(1,2,3,4,5,63);}publicvoidtest(int...i){System.out.println(i[0]);Syst......
  • 死锁和递归锁
    死锁和递归锁一、死锁[1]关于死锁死锁是指两个或多个进程,在执行过程中,因争夺资源而造成了互相等待的一种现象。即两个或多个进程持有各自的锁并试图获取对方持有的锁,从而导致被阻塞,不能向前执行,最终形成僵局。在这种情况下,系统资源利用率极低,系统处于一种死循环状态。[2]......
  • C语言08-函数(递归、字符串、日期时间、数学计算函数),指针
    第11章函数11.7递归函数​ ——相当于俄罗斯套娃;一个程序未执行结束会挂起,相当于堆栈一个函数在函数体内又调用了本身,我们称为递归调用,这样的函数就是递归函数。递归函数成功执行需满足以下两个条件:(1)必须有一个明显的结束条件。(2)必须有一个趋近于结束条件的趋势......
  • 递归实现字符串长度的计算
        我们可以模拟实现strlen函数。传入指针arr时,进入函数,我们要判断该指针是不是空函数,防止空指针的出现,用到了断言assert。当一个数组元素没有走到‘\0’时,我们就要利用递归1+my_strlen(arr+1),arr+1是走向下一个数组元素。并且递归的使用一定要有条件的设置,否则会进......
  • Oracle 递归遍历
    1、场景递归到第几层,例如递归到第2层   selectlevel,--层级wdj.*fromwip_discrete_jobs_vwdjwhere1=1startwithwdj.wip_entity_name='08363790'--递归开始connectbywdj.attribute3=priorwdj.wip_entity_nameandlevel<3; 2、一行数据出现两......
  • 递归寻找节点
    publicclassFileNode:PropertyChangedBase{publicFileNode(){this.Files=newObservableCollection<FileNode>();this.IsFile=false;}privatestring_name=string.Empty;......
  • 基于C语言用递归思想实现斐波那契数列的函数设计
    用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!/********************************************************************* filename: * author :[email protected]* date :2024/04/07* function:利用递归思想实现设计......
  • 二叉树的非递归遍历
    感谢b站up主优雅的代码:https://space.bilibili.com/95715842二叉树的非递归遍历非递归的先序遍历思想:利用栈先进后出的性质。将根节点入栈,(根节点出栈的同时先拉右子树入栈,之后拉左子树入栈;左子树出栈的同时先拉其右子树入栈);依次继续。voidpreOrder(TreeNode*root){......