7-17 h0158. 猴子吃桃子问题 (10 分)
有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第n天时,想再吃时(还没吃),发现只有1个桃子了。问题:最初共多少个桃子?
输入格式:
在一行中给出1个不超过30的正整数n。
输出格式:
在一行中输出最初的桃子个数。
输入样例:
10
输出样例:
桃子=1534
import scala.io.StdIn; object Main{ def main(args: Array[String]) : Unit = { var n = StdIn.readInt(); var sum = 1; for ( i <- 1 to n - 1) { sum = (sum + 1) * 2; } println("桃子="+sum); } }
import scala.io.StdIn object Main { def main(args: Array[String]): Unit = { var n = StdIn.readInt(); val num = f(1,1,n); print("桃子="+num); } def f(a : Int ,d : Int ,n : Int): Int = { var ans = (a + 1) * 2; var dcnt = d + 1; if(dcnt == n) return ans; else f(ans ,dcnt ,n); } }