說明:數學問題代入公式,當輸入越大時,使用遞迴會 TLE。
Java 版
import java.util.Scanner;
public class A044 {
static int space(int n){
if (n == 1) return 2;
else if (n == 2) return 4;
int r = 0, a = 2, b = 4;
for (int i = 3; i <= n; i++) {
r = 2 * b + (i-1) - a;
a = b;
b = r;
}
return r;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
System.out.println(space(n));
}
}
}
Pyrhon 版 (2022.07)def space(s):
if s == 1:
return 2
elif s == 2:
return 4
else:
r = 0
a = 2
b = 4
for i in range(3, s + 1):
r = 2 * b + (i-1) - a
a = b
b = r
return r
while True:
try:
n = int(input())
print(space(n))
except:
break
沒有留言:
張貼留言