- 22, Oct 2024
- #1
Недавно моя репутация была
. I noticed that each digit grouping (i.e. the numbers separated by commas) was a perfect square.function f integer N boolean result n -> n == n 1230192 true n -> n != n 42 false n -> n > 400 420000 false n -> n > 0 0 false n -> n -> 0 1 true n -> sqrt(n) ** 2 == n 25121 true n -> sqrt(n) ** 2 == n 4101 false n -> mod(n, 2) == 0 2902414 true n -> n % 10 > max(digits(n / 10)) 10239120 false n -> n % 10 > max(digits(n / 10)) 123456789 true
Ваша задача состоит в том, чтобы, учитывая неотрицательное целое число Н и унарное логическое значение Функция черного ящика ж : З* → Б , дают истинное значение, если каждое значение ж применяется к группам цифр Н правдиво, а в противном случае ложно.
Группы цифр можно найти, разделив число на группы по 3, начиная с правой стороны. Крайняя левая группа может содержать 1, 2 или 3 цифры. Несколько примеров:
sqrt(3) == 1
Дополнительные правила
- Эта функция может сопоставляться с любыми логическими значениями (например,
n -> n == 0
andn -> f(n)
),0
s and1
s или любое истинное/ложное значение. Укажите, какой формат(ы) поддерживается вашим ответом. - В качестве входных данных вы можете взять целое число или целочисленную строку (т. е. строку, состоящую из цифр).
- Вы можете написать программу или функцию.
- При передаче цифровых групп в функцию ж, вам следует обрезать все ненужные ведущие нули. Например., ж, применительно к Н = 123 000 должно быть выполнено как ж(123) и ж(0).
Тестовые случаи
Обозначение функции false
, e.g., true
. Все операторы предполагают целочисленную арифметику. (Например., 12398123 -> 12,398,123 (3 digit groupings)
10 -> 10 (1 digit grouping)
23045 -> 23,045 (2 digit groupings)
100000001 -> 100,000,001 (3 digit groupings)
1337 -> 1,337 (2 digit groupings)
0 -> 0 (1 digit grouping)
)
25,121
#код-гольф #число #задача принятия решения #функциональное программирование