任务
给定输入正整数n
(从1到您的语言限制,包括1),返回或输出相加为的最大不同正整数的最大数量n
。
测试用例
让我们f
根据任务定义一个有效的函数:
的序列f
,从1开始:
1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, ...
作为较大的测试用例:
>>> f(1000000000) // Might not be feasible with brute-forcers
44720
测试代码
对于未明确给出的任何测试用例,代码的输出应与以下结果相匹配:
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
System.out.println((int) Math.floor(Math.sqrt(2*x + 1./4) - 1./2));
}
}