
小明昨天摘了不少苹果。第一天他吃了这些苹果的一半,又贪吃了一个;接下来的每一天它都会吃剩余的苹果的一半外加一个。第n(n≤20)天早上起来发现,只剩下1个苹果了。请问小明一共摘了多少个苹果?

小明昨天摘了不少苹果。第一天他吃了这些苹果的一半,又贪吃了一个;接下来的每一天它都会吃剩余的苹果的一半外加一个。第n(n≤20)天早上起来发现,只剩下1个苹果了。请问小明一共摘了多少个苹果?
public class Main {
public static void main(String[] args) {
int n = 20; // 第n天发现只剩一个苹果
int x = 0; // 初始的苹果数量
for (int i = 0; i < n; i++) {
x = (x + 1) * 2; // 根据上述关系式进行计算
}
System.out.println("小明一共摘了" + x + "个苹果。");
}
}
------------------------------------------------------------------------------------
public class Main {
public static void main(String[] args) {
int n = 20; // 第n天发现只剩一个苹果
int x = daysToApple(n);
System.out.println("小明一共摘了" + x + "个苹果。");
}
// 使用递归计算小明摘了多少个苹果
public static int daysToApple(int n) {
if (n == 1) {
return 1; // 第一天只剩1个苹果
} else {
return (daysToApple(n - 1) + 1) * 2; // 剩余的苹果的一半加1
}
}
}