一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数
如上,这个题目就是个傻逼,什么叫落地时?这个就是说落地后将反弹多高(文意潜规则)
什么叫共经过多少米?这个就是说反弹时之前总共经过了多少米,不算落地后将反弹多高的高度
这个题主要是求总经过长度,你直接找sn求和通项公式就行了,其实就是第一次的M+2*( M/2+M/4+...+M/(2的n-1次方) )
double b = M * (3 - 4 / pow(2, N));
这是我的结果
猴子吃桃问题
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子
吃了一半,其实就是潜规则第一天肯定摘了偶数个桃子
先从数学上分析,设Xn就是第n天还剩多少个桃子
则Xn=1,要逆推第一天X1的值
有Xn=X(n-1)-[X(n-1)/2 +1 ]
最后得出X(n-1)=2*(Xn+1)
int main() {
int N = 0;
scanf("%d", &N);
int last = 1,first=0;
for (int i = 1; i < N; i++) {
first = 2 * (last +1);
last = first;
}
printf("%d", first);
return 0;
}
逆推就不要找通项公式了,数学分析下即可,可巧妙借用循环
Comments NOTHING