Console.Write("请输入高度(正整数):");
double hight = Convert.ToDouble(Console.ReadLine());
Console.Write("反弹的次数:");
double num = Convert.ToDouble(Console.ReadLine());
double temp = hight;
double sum = hight;
for (double i = 0; i <= num; i++)
{
temp = temp / 2;
sum = sum + temp * 2;
}
Console.WriteLine("在第{0}次返回后,一共经过多少米:{1}",num,sum);
Console.WriteLine("在第{0}次返回后,有多高:{1}", num, temp);
temp*2是因为反弹的时候是一个来回,但是不包括第一次下落
为什么用double不用int,是因为肯定会出现小数点为,int没办法保存