Из всех тех лет, в которых я принимал участие в этом испытании, 2017 год - это первый год, который стал лучшим номером. Так что вопрос будет о простых числах и их свойствах.
Ваша задача состоит в том, чтобы создать программу или функцию, которая будет принимать произвольно большое положительное целое число в качестве входных данных и выводить или возвращать, независимо от того, является ли число 2,017-хрупким, то есть, равен ли самый большой простой коэффициент в этом числе 2,017 или меньше.
Некоторые примеры входов и их выходов:
1 (has no prime factors)
true
2 (= 2)
true
80 (= 2 x 2 x 2 x 2 x 5)
true
2017 (= 2017)
true
2019 (= 3 x 673)
true
2027 (= 2027)
false
11111 (= 41 x 271)
true
45183 (= 3 x 15061)
false
102349 (= 13 x 7873)
false
999999 (= 3 x 3 x 3 x 7 x 11 x 13 x 37)
true
1234567 (= 127 x 9721)
false
4068289 (= 2017 x 2017)
true
Ваша программа не должна буквально выводить true
и false
- любые значения «истина» или «ложь», и фактически любые два разных вывода, которые согласуются между истинными и ложными случаями, хороши.
Тем не менее, вы не можете использовать какие-либо простые числа в вашем исходном коде. Простые числа бывают двух типов:
Символы или последовательности символов, представляющие литералы простых чисел.
Символы
2
,3
,5
и7
являются незаконными в языках , где числа являются допустимыми лексемы.Число
141
является незаконным, потому что оно содержит41
, хотя1
и4
в противном случае действительны.Символы
B
иD
(илиb
иd
) являются недопустимыми в языках, где они обычно используются как 11 и 13, таких как CJam или Befunge.
Символы, которые имеют простые значения Unicode или содержат простые байты в их кодировке.
Символы
%)+/5;=CGIOSYaegkmq
являются недопустимыми в ASCII, а также символ возврата каретки.Символ
ó
недопустим в UTF-8, потому что0xb3
в нем есть его кодировка . Однако в ISO-8859-1 его кодировка проста0xf3
, что является составной и, следовательно, все в порядке.
Самый короткий код для выполнения вышеуказанного на любом языке выигрывает.
=
правил исключает большинство стандартных языков ...