北理工计算机复试上机 2007
Posted 宇宙由我代码生成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北理工计算机复试上机 2007相关的知识,希望对你有一定的参考价值。
1.一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,比如第一次弹起高度为
H/2,如此往复,计算从小球H高度下落到第n次弹地往返的总路程。
要求:
1.用递归的方法实现
2.输入H和n,输出结果
3.注意程序的健壮性
4.可以用C或C++实现
注意,这个题是我自己写的,我觉得没什么但是和我找到的代码不同,结果不同,我推算过,我的没有错,
假如初始高度为10,跳一次路程15
在跳一次10+5+5+2.5是22.5。
第二次跳的时候初始高度是5,跳起2.5,路程7.5
1 // 2007_1.cpp : Defines the entry point for the console application. 2 // 3 4 #include<iostream> 5 6 using namespace std; 7 double b(double h,double n){ 8 if(n==1)return h+h/2; 9 else return h+h/2+b(h/2,n-1); 10 } 11 12 int main(int argc, char* argv[]) 13 { 14 double h,n; 15 cout<<"请输入高度和次数"<<endl; 16 cin>>h>>n; 17 cout<<"路程"<<endl; 18 cout<<b(h,n)<<endl; 19 20 return 0; 21 }
以上是关于北理工计算机复试上机 2007的主要内容,如果未能解决你的问题,请参考以下文章