Если задано неотрицательное целое число, укажите, является ли оно трехзначным числом, оканчивающимся на единицу, в любой согласованной целочисленной базе. Другими словами, число должно быть представлено в base-N, где N является целым числом больше нуля.
правила
- Это код-гольф , поэтому выигрывает самый короткий ответ.
- Поскольку унарный ведет себя странно, поведение с вводом 3 10 не определено.
- Стандартные лазейки запрещены.
Примеры
Правда:
5
73
101
1073
17
22
36
55
99
Ложь:
8
18
23
27
98
90
88
72
68
Горстка больших чисел:
46656 true
46657 true
46658 true
46659 true
46660 true
46661 false
46662 false
46663 true
46664 false
46665 true
46666 true
46667 false
46668 false
46669 false
46670 true
46671 true
n
толькоn
1
с, например0 = ()₁
,3 = (111)₁
,10 = (1111111111)₁
и т.д.Ответы:
Желе , 7 байт
Возвращает количество базисов (отличное от нуля истинное, ложное ноль), в котором вход представляет собой трехзначное число, заканчивающееся на единицу.
Попробуйте онлайн!
Как это работает
источник
JavaScript (ES7),
434039 байтКонтрольные примеры
Показать фрагмент кода
комментарии
источник
Python 3 ,
5047 байт-2 байта благодаря @LeakyNun
-1 байт благодаря @Dennis
Попробуйте онлайн!
источник
Haskell ,
4140 байтСпасибо @Zgarb за удаление 1 байта!
Попробуйте онлайн!
источник
Брахилог , 10 байт
Попробуйте онлайн!
источник
05AB1E ,
118 байтСохранено 3 байта благодаря Аднану .
Попробуйте онлайн!
объяснение
источник
Желе , 12 байт
Попробуйте онлайн!
источник
Mathematica, 43 байта
Попробуйте онлайн!
или попробуйте онлайн! (большое количество)
Мартин Эндер сэкономил 3 байта
источник
!FreeQ[#~IntegerDigits~Range@#,{_,_,1}]&
немного короче, если вы не против увидетьIntegerDigits::ibase: Base 1 is not an integer greater than 1.
предупреждение. (Он все еще возвращает правильные ответы.)Wolfram Language (Mathematica) , 35 байт
Попробуйте онлайн!
Явно проверяет, являются ли n% i = 1 и i 2 <n <i 3 для любого возможного основания i . Для целей игры в гольф неравенство переставляется в 1 <n / i 2 <i , так что оно может быть приковано к равенству.
источник
Чистый ,
5856 байт-2 благодаря Денису
Попробуйте онлайн!
источник
Шелуха , 10 байт
Попробуйте онлайн! Довольно близко к ответу желе Денниса .
источник
APL (Dyalog Unicode) ,
212014 байтов SBCS-5 благодаря @ngn.
Чисто арифметическое решение (на самом деле не выполняет никаких базовых преобразований) и, следовательно, очень быстрое.
Попробуйте онлайн!
⊢(
…)⍨1↓⍳
На один пропущенный из аргумента 1ndice 1… и аргумент, примените:|
остатки деления×∘⌈
раз округлил⍟
log N Аргумент3∊
три члена этого?источник
⊢(∨/(3=∘⌈⍟)∧1=|)⍨1↓⍳
(⊂1 3)∊⊢(⌈|,¨⍟)⍨1↓⍳
3∊⊢(|×|×∘⌈⍟)⍨1↓⍳
1=⌈a⍟b
,a≤b
→a=b
→0=a|b
∵0=b|b
Pyth , 10 байт
Проверьте все контрольные примеры.
источник
Шелуха , 15 байт
Попробуйте онлайн!
объяснение
источник
PHP, 48 + 1 байт
выходы с
0
фальшивкой (или вводом3
),1
для правдивости.Запустите как трубу с
-nR
или попробуйте онлайн .источник
C, 60 байтов
Функция, которая возвращает ненулевое значение, если аргумент может быть представлен в виде трехзначного числа, оканчивающегося на 1:
Примечание: это работает с GCC, где функции являются встроенными. Для других компиляторов вам, вероятно, нужно убедиться, что аргументы и возвращаемые типы известны:
объяснение
Наименьшее основание
n
, представленное 3 цифрами⌊∛n⌋
, и наименьшее основаниеn
, представленное 2 цифрами⌊√n⌋
, поэтому мы просто проверяем, совпадает ли число с 1 по модулю любых оснований в 3-значном диапазоне. Мы возвращаем счетчик числа базисов, удовлетворяющих условию, давая ненулевое (истинное) или нулевое (ложное) значение в зависимости от ситуации.Тестовая программа
Передайте любое количество входов в качестве позиционных параметров:
источник
APL (Dyalog Unicode) , 19 байтов SBCS
Метод Денниса .
Попробуйте онлайн!
(⊂,1)∊
Является[1]
членом2↓¨
два элемента упали с каждого из⊢⊥⍣¯1¨⍨
аргумент, представленный в каждой из баз1↓⍳
кто-то выпал из 1- го списка через аргумент?источник
Юлия , 31 байт
Попробуйте онлайн!
источник
Пыть ,
3533 байтаОбъяснение:
Попробуйте онлайн!
источник
> <> , 42 байта
Попробуйте онлайн!
Возвращается
10
за правду,00
за фалси.источник