Завдання
З огляду на введене додатне ціле число n
(від 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));
}
}