starstarzhang @ 2023-12-05 14:58:48
k在小于或等于10时都没问题,当k大于10之后就会栈溢出,难道是内存限制问题吗?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
k = sc.nextInt();
dfs();
}
static int i = 1;
static double sum = 0;
static int k = 0;
public static void dfs(){
sum += (1.0 / i);
i++;
if(sum > k) {
System.out.println(i-1); // 前面多++了一次
return;
}
else dfs();
}
}
by B_neutrino @ 2024-03-03 20:10:04
TLE炸了 每次调用dfs都会从头开始算,可以直接循环加,每次循环判断是否大于目标值