으로 영감 이 질문 상기 의해 영감 이 한 개의 정수를 취하고 7- 세그먼트 디스플레이에이를 표시하기 위해 사용되는 세그먼트에 대해 OR 동작을 수행하여, 고유 한 방식으로 추가 프로그램을 작성. 참고로 숫자는 다음과 같이 표시됩니다.
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
1은 왼쪽이 아닌 오른쪽에있는 두 개의 세그먼트를 사용합니다. 이 방법으로 생성 할 수있는 두 가지 특수 문자가 있으며 숫자는 아닙니다. 아래의 추가 표를 참조하십시오.
| 0 1 2 3 4 5 6 7 8 9
--+--------------------
0 | 0 0 8 8 8 8 8 0 8 8
1 | 0 1 a 3 4 9 8 7 8 9
2 | 8 a 2 a 8 8 8 a 8 8
3 | 8 3 a 3 9 9 8 3 8 9
4 | 8 4 8 9 4 9 8 Q 8 9
5 | 8 9 8 9 9 5 6 9 8 9
6 | 8 8 8 8 8 6 6 8 8 8
7 | 0 7 a 3 Q 9 8 7 8 9
8 | 8 8 8 8 8 8 8 8 8 8
9 | 8 9 8 9 9 9 8 9 8 9
유용한 관찰 :
- 모든 숫자와 그 자체가 같습니다
- 8 더하기 숫자는 8과 같습니다
- 2 더하기 1, 3 또는 7은 문자 'a'와 같습니다 (소문자 여야 함)
- 4 더하기 7은 선택하는 'q'또는 'Q'입니다.
- 숫자는 오른쪽 정렬되어야하므로 숫자는 오른쪽에서 왼쪽으로 추가해야합니다. 한 숫자가 다른 숫자보다 많은 자릿수를 가지면 시작 부분의 추가 자릿수는 변경되지 않아야합니다. 숫자가 정확히 0이 아닌 한 선행 0은 없습니다.
- 모든 숫자는 0 이상입니다. '-'부호를 처리 할 필요가 없습니다. (주로 '-'와 '1'또는 '7'의 합에 적합하지 않기 때문입니다.)
프로그램은 선택한 형식으로 정수 2 개를 허용해야하며이 방식으로 계산할 때 "sum"을 포함하는 문자열을 출력해야합니다. 이것은 코드 골프이므로 프로그램은 가능한 한 작아야합니다.
예 :
- 입력 : 12345, 123. 출력 : 12389
- 입력 : 88888, 42. 출력 : 88888
- 입력 : 0, 23. 출력 : 28
- 입력 : 120, 240. 출력 : a80
- 입력 : 270, 42. 출력 : 2Q8 (또는 2q8)
- 입력 : 1234567890, 1234567890. 출력 : 1234567890
Q소문자 가 아니어야합니까 ? 실제 모양은 다음과 같은 모양이 q아닙니다.Q
a확실히 있기 때문에, 소문자 생각해야 A완전히 다른 모습.