发金牌
时间: 1ms 内存:128M
描述:
运动会开了n天,第n天发出金牌m枚。第一天发金牌1枚,第二天发金牌前一天的两倍加一枚,以后每天都照此办理。
开了n天,第n天发了m块金牌。你能编个简单的小程序求算m吗?
输入:
输入一个整数n,表示运动会开的天数。
输出:
计算对应发的奖牌数m。
示例输入:
1
示例输出:
1
提示:
参考答案(内存最优[748]):
#include<stdio.h>
int count(int n)
{
if(n==1)
return n;
else
return count(n-1)*2+1;
}
int main()
{
int gold;
scanf("%d",&gold);
printf("%d\n",count(gold));
}
参考答案(时间最优[0]):
#include<iostream>
using namespace std;
int main()
{
int gold;
int count(int);
cin>>gold;
cout<<count(gold);
}int count(int n)
{
if(n==1)
return n;
else
return count(n-1)*2+1;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
