Четыре целочисленные последовательности
В этом задании вы протестируете четыре различных свойства положительного целого числа, заданного следующими последовательностями. Положительное целое число N является
- совершенный ( OEIS A000396 ), если сумма делителей из N равно N . Последовательность начинается с 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 ...
- refactorable ( OEIS A033950 ), если число делителей N является делителем N . Последовательность начинается с 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128 ...
- практический ( OEIS A005153 ), если каждое целое число 1 ≤ K ≤ N является суммой некоторых различных делителей N . Последовательность начинается с 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56 ...
- высоко композит ( OEIS A002128 ), если каждое число 1 ≤ K <N имеет строго меньше , чем делителей N . Последовательность начинается с 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040 ...
Четыре программы
Ваша задача - написать четыре программы (т.е. полные программы, определения функций или анонимные функции, которые выполняют ввод / вывод любым из стандартных методов ). Каждая программа должна решить проблему принадлежности одной из этих последовательностей. Другими словами, каждая программа будет принимать положительное целое число N ≥ 1 в качестве входных данных и выводить истинное значение, если N находится в последовательности, и ложное значение, если нет. Вы можете предположить, что N находится в пределах стандартного целочисленного типа вашего языка программирования.
Программы должны быть связаны следующим образом. Есть четыре строки, ABCD
такие, что
AC
это программа, которая распознает идеальные числа.AD
это программа, которая распознает рефактивные числа.BC
это программа, которая распознает практические числа.BD
это программа, которая распознает очень сложные числа.
счет
Ваша оценка - это общая длина (в байтах) строк ABCD
или, другими словами, общее количество байтов четырех программ, разделенное на две. Самый низкий балл в каждом языке программирования - победитель. Применяются стандартные правила игры в гольф .
Например, если четыре строки a{
, b{n
, +n}
и =n}?
, затем четыре программы a{+n}
, a{=n}?
, b{n+n}
и b{n=n}?
, и счет 2 + 3 + 3 + 4 = 12.