题意很简单不多说。
看见提的一瞬间我知道得用递归调用,但是我不熟悉,试了很多次,脑子都糊涂了。发现for循环足以。
方法一:for循环
#include<stdio.h>
int main()
{
int days;
while(scanf("%d",&days)!=EOF)
{
int i;
int peach=1;
for(i=1;i<days;i++)
peach=(peach+1)*2;
printf("%d\n",peach);
}
return 0;
}
方法二:递归调用
#include<stdio.h>
int main()
{
int peach(int );
int days;
while(scanf("%d",&days)!=EOF)
{
printf("%d\n",peach(days));
}
return 0;
}
int peach(int days)
{
int p;
if(days==1)
p=1;
else p=(peach(days-1)+1)*2;
return p;
}
本文探讨了在编程中使用递归与循环解决特定问题的方法。通过对比两种方法的应用场景,作者展示了如何利用 for 循环和递归调用解决输入数据处理问题。文章深入分析了递归调用与 for 循环的优缺点,并提供了相应的代码示例。
236

被折叠的 条评论
为什么被折叠?



