数学方法,解一元二次方程,o(1)复杂度。
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = (int) ((-1 + Math.sqrt(1 + 8 * n)) / 2);
while (k * k + k - 2 * n < 0) {
k++;
}
System.out.println(k);
}
}

京公网安备 11010502036488号