Мне нужно написать метод, который принимает в int
и возвращает true
, если число может быть записано как сумма двух или более последовательных положительных целых чисел и false
в противном случае.Может ли заданное число быть записано как сумма двух или более последовательных положительных целых чисел?
boolean IsSumOfConsecutiveInts(int num)
Я понял, что все нечетные числа (за исключением числа 1) можно записать в виде суммы 2 последовательных натуральных чисел:
return (num > 1 && num % 2 == 1);
, но это не учитывает числа, которые могут быть записанный как сумма более 2 последовательных положительных целых чисел (например, 6 == 1 + 2 + 3
).
Как определить, может ли число быть записано в виде суммы двух или более последовательных положительных целых чисел?
В обоих случаях 1 и 2 не должно 'x' быть' num'? Не могли бы вы также переименовать 'y' и' i' в нечто более описательное, пожалуйста? –
@ KenY-N правильный. Хотя нет смысла переименовывать переменную «i», поскольку она обычно используется для «итерации» .. поскольку она находится в цикле. – user2494817
@ KenY-N Как это? –