皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?
输入格式:
输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。
输出格式:
在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。
输入样例:
33 5
输出样例:
94.9 1.0
c:
#include<stdio.h>
int main(){
double h,n;
scanf("%lf%lf",&h,&n);
double sum=0;
if(h==0||n==0) printf("0.0 0.0\n");
else{
for(int i=0;i<n;i++){
sum+=1.5*h;
h/=2;
}
printf("%.1lf %.1lf\n",sum-h,h);
}
return 0;
}
java:
import java.util.Scanner;
public class BouncingBall {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double h = scanner.nextDouble();
double n = scanner.nextDouble();
double sum = 0;
if (h == 0 || n == 0) {
System.out.println("0.0 0.0");
} else {
for (int i = 0; i < n; i++) {
sum += 1.5 * h;
h /= 2;
}
System.out.printf("%.1f %.1f%n", sum, h);
}
}
}
编程是一项富有挑战性和创造性的活动。从将一种编程语言的代码转换为另一种编程语言的代码中,您可以获得一些感悟,这对您的编程技能和理解有所帮助:
1. **跨语言翻译**:了解不同编程语言之间的相似性和差异性是重要的。这可以帮助您更容易地切换编程语言,理解不同语言的语法和特性。
2. **编程概念的重要性**:无论使用哪种编程语言,编程的核心概念,如条件语句、循环、变量、输入/输出,始终保持一致。这些概念在不同语言中都有类似的表达方式。
3. **语法和约定**:编程语言具有不同的语法和约定,但在逻辑和问题解决方面有共通之处。转换代码时,需要适应新语言的语法和最佳实践。
4. **工具的重要性**:不同的编程语言通常配有各种工具和库,以帮助解决特定的问题。在新语言中工作时,要了解并学会使用适用的工具和库。
5. **调试和测试**:在将代码从一种语言转换为另一种语言时,调试和测试非常重要。确保在新语言中的代码能够正确运行,并检查输出是否符合预期。
总之,通过将代码从一种编程语言翻译到另一种,您可以增强您的编程技能,加深对编程概念的理解,并学会适应不同语言的语法和工具。这种跨语言的经验可以使您成为更全面的开发人员,能够更灵活地应对不同的编程任务和项目。