최근에 나의 명성은이었습니다 25,121
. 각 숫자 그룹화 (즉, 쉼표로 구분 된 숫자)가 완벽한 정사각형임을 알았습니다.
음수가 아닌 정수 N 과 단항 부울 블랙 박스 함수 f : Z * → B 가 주어지면 N 의 숫자 그룹에 적용되는 f의 각 값이 진실이면 거짓 값을 산출하고 그렇지 않으면 거짓입니다.
숫자를 오른쪽에서 시작하여 3 개의 그룹으로 나누면 숫자 그룹을 찾을 수 있습니다. 가장 왼쪽 그룹에는 1, 2 또는 3 자리 숫자가있을 수 있습니다. 몇 가지 예 :
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)
추가 규칙
- 이 함수는 부울 (예 :
true
및false
),1
s 및0
s, 또는 진실 / 거짓 값에 매핑 할 수 있습니다. 답변에서 지원하는 형식을 지정하십시오. - 정수를 입력으로 사용하거나 정수 문자열 (숫자로 구성된 문자열)을 사용할 수 있습니다.
- 프로그램이나 함수를 작성할 수 있습니다.
- 디지털 그룹을 함수 f 로 전달할 때 불필요한 모든 선행 0을 다듬어야합니다. 예를 들어, N = 123,000에 적용될 때 f 는 f (123) 및 f (0) 으로 실행되어야합니다 .
테스트 사례
기능 표기법은 n -> f(n)
예를 들어 n -> n == 0
. 모든 연산자는 정수 산술을 가정합니다. (예 sqrt(3) == 1
)
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
n -> n > 0
적용 0
)을 추가해야 합니다.
[0]
.