피터 린츠 (Peter Linz )의 인기 있고 필수적인 컴퓨터 과학 서적 인 정식 언어 및 오토마타 소개 에서 다음 공식 언어가 자주 언급됩니다.
주로이 언어는 유한 상태 오토마타로 처리 할 수 없기 때문입니다. 이 표현은 "언어 L은 'a'와 'b'의 수가 같고 0이 아닌 'a'와 'b'의 모든 문자열로 구성됩니다.
도전
문자열을 얻는 작업 프로그램 / 기능 쓰기 "A"의와 "B"를 포함하는 유일한 s의 입력과 같은 수익을 / 진리 값을 출력 이 문자열이 있으면 말, 유효 공식 언어 L.
프로그램은 네트워크, 외부 프로그램 등을 포함한 외부 계산 도구를 사용할 수 없습니다. 쉘은이 규칙에서 예외입니다. Bash는 예를 들어 명령 줄 유틸리티를 사용할 수 있습니다.
프로그램은 "논리적"방식으로 결과를 반환 / 출력해야합니다. 예 : 0 대신 "10", "경고음", stdout 등으로 출력. 자세한 내용은 여기를 참조하십시오.
표준 코드 골프 규칙이 적용됩니다.
이것은 code-golf 입니다. 바이트 단위의 최단 코드가 이깁니다. 행운을 빕니다!
확실한 테스트 사례
"ab"
"aabb"
"aaabbb"
"aaaabbbb"
"aaaaabbbbb"
"aaaaaabbbbbb"
거짓 테스트 사례
""
"a"
"b"
"aa"
"ba"
"bb"
"aaa"
"aab"
"aba"
"abb"
"baa"
"bab"
"bba"
"bbb"
"aaaa"
"aaab"
"aaba"
"abaa"
"abab"
"abba"
"abbb"
"baaa"
"baab"
"baba"
"babb"
"bbaa"
"bbab"
"bbba"
"bbbb"
empty string == truthy
및 non-empty string == falsy
수용 할 수?
a^n b^n
또는 이와 유사한보다는 그냥 숫자 a
의 수를 같게들 b
들)