Статья Автор: Лебедев Дмитрий

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 возвращается как результат.
Замечание. Для подсчета количества делителей числа можно использовать более эффективные алгоритмы
 


Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать