/* P71 for循环语句 2020-03-15 14:12:37
* 一个球从80米高度自由落下,每次落地后反弹的高度为原来高度的一半,第6次落地时,共经历过多少米?该次反弹多高?
* // ★★★★★此题做不出来★★★★★
*
* 笔记:
* ·每次高度each
* 第1次高度 = 80 / 2
* 第2次高度 = 80 / 2 / 2
* 第3次高度 = 80 / 2 / 2 / 2
* 第4次高度 = 80 / 2 / 2 / 2 / 2
* ...
* 第n次高度 = 80 / 2的n次方
* so...
* 第6次高度 = 80 / 2的6次方
*
* ·到第6次共经历的高度sum
* sum = 80 + 前6次次的高度和
*
* ·Java中用for循环表示a的n次方方法:
* for (int i = 0; i < n; i++) {
a = a * n;
}
============================================================
public class Ccc_Fall {
public static void main(String[] args) {
int a = 5;
int b = 3;
int d = 1;
for (int i = 0; i < b; i++) {
d = a * d;
}
// System.out.println("a的n次方=" + Math.pow(a, n));
System.out.println("a的n次方=" + a);
}
}
*/
public class Ccc_Fall { // 创建一个Fall类
public static void main(String[] args) {
double high = 80; // 声明double类型变量high(高处)
double sum = 0; // 声明double类型变量sum(总计)
for (int i = 0; i < 11; i++) { // i = 0代表小球第一次落地时,i = 10代表第六次落地时
sum = sum + high; // 小球开始下落到第六次落地时经过的总路程
if (i % 2 == 0) { // 判断小球是否完成了一次完整地落地、反弹过程
high = high / 2; // 每次落地之后反弹高度为原来的一半
}
}
System.out.println("第六次落地时共经过" + sum + "米"); // 控制台输出小球第六次落地时经过的总路程
System.out.println("第六次落地后反弹:" + high + "米"); // 控制台输出小球第六次落地后反弹的高度
}
}