회사의 보안 책임자는 PIN 생성 시스템이 제공된 후 PIN 생성 시스템에 대해 우려하고 있습니다 12345
. 그는 또한 당신이 그의 비용으로 행한 Spaceballs 농담을 정말로 좋아하지 않았으므로 PIN 생성기를 다시 쓰도록 위임되었습니다. 특정 하드웨어에 맞아야하므로 가능한 작게 만들어야합니다.
당신의 작업
- PIN 수와 PIN 크기 (숫자)의 두 가지 입력을받습니다.
- 지정된 크기의 지정된 PIN 수를 임의로 생성하여 인쇄하십시오.
- 크기가 일정하지 않은 경우에도 유효한 모든 크기의 PIN을 인쇄 할 수 있어야합니다.
그러나 PIN에는 몇 가지 제한이 있습니다. 잘못된 PIN은 다음과 같습니다.
- 모든 쌍이 동일한 숫자 인 경우 :
114422
(참고 : 분명히 모든 동일한 숫자 PIN이 포함됩니다). - 점점 선형적인 PIN (mod 10) :
246802
. - 3 모든 그룹의 키패드에 물리적 라인이다
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - PIN은 규칙 1과 규칙 3의 그룹으로 완전히 나눌 수 있습니다.
- 모든 쌍이 동일한 숫자 인 경우 :
- 이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다!
@minxomat 좋은 점, 두 그룹을 모두 포함하는 규칙을 개정. 하반기부터는 하나
—
Maltysen
123
이지만 55432
괜찮을 것입니다.
규칙 3에 대각선이 포함됩니까?
—
Martin Ender
아이러니 한 점은 소위 "보안"핀에 대한 이러한 정의는 공격자가 강제로 무력화해야하는 핀의 수만 줄인다는 것입니다!
—
DankMemes
규칙 2의 최단 길이는 얼마입니까?
—
Dennis
55123
있습니까?