TUZ_6-03 Подсчет количества способов выражения вежливого числа


TUZ_6-03 Подсчет количества способов выражения вежливого числа

TUZ_6-03 Подсчет количества способов выражения вежливого числа
6.3. Подсчет количества способов выражения вежливого числа
В теории чисел положительные целые числа, которые можно выразить в виде суммы двух или более последовательных чисел,
называются вежливыми числами. С другой стороны, положительные целые числа, которые нельзя выразить подобным образом,
называются невежливыми.
Важ но отметить, что вежливые и невежливые числа относятся к категории натуральных чисел.
Целью этой задачи является подсчитать количество способов, которыми вежливое число можно выразить в виде суммы последовательных положительных целых чисел.
Например, число 42 можно выразить как
а) 3+ 4 + 5 + 6 + 7 + 8 + 9;
б) 9 + 10 + 11 + 12;
в) 13 + 14 + 15;
г) 42.
А число 3 – как 2 + 1 и 3.
Ваша задача: написать функцию, которая принимает положительное целое число n и возвращает количество способов,
которыми это число можно выразить в виде суммы последовательных положительных целых чисел.
В табл. 6.3 показаны ожидаемые результаты для некоторых входных данных.
Таблица 6.3. Некоторые ожидаемые результаты для задачи подсчета количества способов выражения вежливого числа
n Ожидаемый результат
3 2
96000 8
2 1
42 4

Алгоритм
Алгоритм подсчитывает количество делителей числа n, что эквивалентно количеству способов,
которыми n можно выразить в виде суммы последовательных положительных целых чисел.
  1.   Принимается положительное целое число.
  2.   Инициализируется переменная NumberofPolites значением 0
  3.   В цикле выполняется перебор чисел в диапазоне от 1 до n + 1.
  4.   Для каждого целого числа i в цикле:
  • а) проверяется нечетность i и делится ли n на i;
  • б) если оба условия выполняются, то переменная NumberofPolites,
    представляющая количество нечетных делителей, увеличивается на 1.
  1. NumberofPolites возвращается как результат.
Замечание. Для подсчета количества делителей числа можно использовать более эффективные алгоритмы