Banach-Tarski 역설은 3 차원 공간에 공이 주어지면 공을 유한 한 수의 포인트 하위 집합으로 분해 할 수 있다고 말합니다. 그런 다음이 분리 된 지점 세트를 재 조립하여 초기 공의 두 사본을 생성 할 수 있습니다. 그러면 이론적으로 두 개의 동일한 공이 생깁니다.
리 어셈블리 과정은 위에서 언급 한 점 서브 세트를 이동하고 회전하면서 공간적 모양을 변경하지 않는 것으로 구성됩니다. 이 작업은 5 개의 분리 된 하위 집합으로 수행 할 수 있습니다.
분리 세트에는 정의에 따라 공통 요소가 없습니다. 어디 A
및 B
초기 공 두 점 집합 사이의 공통 요소 A
및 B
빈 집합입니다. 이것은 다음 방정식으로 표시됩니다.
아래의 분리 세트의 경우 공통 멤버는 빈 세트를 형성합니다.
도전
입력 ASCII "ball"을 가져 와서 중복 된 "ball"을 출력 할 수있는 프로그램을 작성하십시오.
입력
입력 공의 예는 다음과 같습니다.
##########
###@%$*.&.%%!###
##!$,%&?,?*?.*@!##
##&**!,$%$@@?@*@&&##
#@&$?@!%$*%,.?@?.@&@,#
#,..,.$&*?!$$@%%,**&&#
##.!?@*.%?!*&$!%&?##
##!&?$?&.!,?!&!%##
###,@$*&@*,%*###
##########
각 구는 파운드 기호 ( #
)로 표시되며 다음 문자로 채워집니다 .,?*&$@!%
. 모든 입력은 22x10 문자입니다 (높이 별 너비).
복제물 만들기
먼저, 볼 내부의 각 포인트에는의 인덱스를 기준으로 번호가 매겨진 포인트가 부여됩니다 .,?*&$@!%
. 위의 예는 번호가 매겨진 예입니다.
##########
###7964151998###
##86295323431478##
##5448269677374755##
#75637896492137317572#
#21121654386679924455#
##1837419384568953##
##85363518238589##
###2764574294###
##########
그런 다음 각 점이 1 위로 이동합니다 (9는 1로 이동).
##########
###8175262119###
##97316434542589##
##6559371788485866##
#86748917513248428683#
#32232765497781135566#
##2948521495679164##
##96474629349691##
###3875685315###
##########
마지막으로, 각각의 새로운 포인트 값은 해당 문자로 다시 변환됩니다.
##########
###!.@&,$,..%###
##%@?.$*?*&*,&!%##
##$&&%?@.@!!*!&!$$##
#!$@*!%.@&.?,*!*,!$!?#
#?,,?,@$&*%@@!..?&&$$#
##,%*!&,.*%&$@%.$*##
##%$*@*$,%?*%$%.##
###?!@&$!&?.&###
##########
산출
그런 다음이 두 볼은이 형식으로 나란히 출력됩니다 (방정식에서 4 개의 공백으로 구분).
########## ##########
###@%$*.&.%%!### ###!.@&,$,..%###
##!$,%&?,?*?.*@!## ##%@?.$*?*&*,&!%##
##&**!,$%$@@?@*@&&## ##$&&%?@.@!!*!&!$$##
#@&$?@!%$*%,.?@?.@&@,# #!$@*!%.@&.?,*!*,!$!?#
#,..,.$&*?!$$@%%,**&&# #?,,?,@$&*%@@!..?&&$$#
##.!?@*.%?!*&$!%&?## ##,%*!&,.*%&$@%.$*##
##!&?$?&.!,?!&!%## ##%$*@*$,%?*%$%.##
###,@$*&@*,%*### ###?!@&$!&?.&###
########## ##########
참고 : 포인트 값 및 이후 문자 이동은 포인트 하위 집합 (문자 그룹화)을 재 조립하기 위해 수행 된 회전을 상징합니다.