编程题AB-自由落体

编程题AB-自由落体

时间: 1ms        内存:128M

描述:

一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数

输入:

M N

输出:

它在第N次落地时反弹多高?共经过多少米?保留两位小数,空格隔开,放在一行

示例输入:

1000 5

示例输出:

31.25 2875.00

提示:

参考答案(内存最优[548]):

program p1000(Input,Output); 
var 
	m,h,t,sum:double;
	i,n:integer;
begin 
	read(m,n);
	h := m/2;
	sum := m;
	for i:=2 to n do
		begin
		t := m/2;
		h := t/2;
		sum := sum + 2*t;
		m := t;
		end;
	writeln(h:0:2,' ',sum:0:2);
end.

参考答案(时间最优[0]):

#include<stdio.h>
int main()
{
    int i,n;
    float h,s;
    scanf("%f%d",&s,&n);
    h=s/2;
    for(i=2; i<=n; i++)
    {
        s+=2*h;
        h/=2;
    }
    printf("%.2f %.2f",h,s);
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注