교류 고조파 시리즈는 잘 알려진 수렴 시리즈입니다.
"분명히", 2의 자연 로그에 수렴한다는 것이 분명합니다.
이 시리즈는 절대적으로 수렴 적이 지 않기 때문에 단순히 용어를 재 배열함으로써 원하는 것에 접근 할 수 있습니다. 시리즈가 e 에 수렴되기를 원한다고 가정하십시오 . 내가해야 할 일은 이것입니다.
패턴을 잡지 않으면 분명한 패턴이 없습니다. 작동 방식은 다음과 같습니다.
- 긍정적이고 부정적인 용어로 교류 고조파 계열의 용어를 고려하십시오.
- 목표를 초과 할만큼 긍정적 인 용어 만 합산하십시오 (e). (일명
sum > target
) - 다음 음수를 뺍니다.
- 2로 돌아갑니다.
2 단계에서이면 sum == target
다른 긍정적 인 용어를 추가해야합니다.
이를 통해 다음과 같이 각 번호와 관련된 시퀀스를 정의 할 수 있습니다.
- 위의 알고리즘을 따르십시오
- 각 양의 항에 대해 1을 출력합니다.
- 각 음의 항에 대해 0을 출력하십시오.
이 시퀀스를 숫자의 "하모니 비트 패턴"이라고하겠습니다. 예를 들어, e의 HBP는 다음과 같이 시작합니다.
1, 1, 1, 1, <32 times>, 0, 1, 1, <54 times>, 0, 1, 1, ...
당신의 도전 :
당신은 주어질 것입니다 :
- [-10, 10] 범위 의 합리적인 입력 목표 (참고 : 고조파 계열을 통해 10에 도달하더라도 수백만 개의 용어가 필요함). 이것은 10 진수 (일명
1.1
)이거나 직접 합리적 일 수 있습니다 (일명12/100
) - 출력 할 고조파 비트 패턴의 항 수를 지정 하는 양의
int
n 입력.
대상 의 정확한 조화 비트 패턴을 지정된 수의 항 으로 출력 해야합니다. 공백으로 구분 된 값, 쉼표로 구분, 구분 없음 등을 출력 할 수 있습니다. 0과 1의 패턴이 명확하게 보이고 일정한 분리로 왼쪽에서 오른쪽으로 읽는 한.
테스트 사례
>>> 0, 1
1
>>> 0, 2
10
>>> 0, 7
1000010
>>> 1, 10
1101011011
>>> 1.01, 3
110
>>> 1.01, 24
110101101101101101101101
>>> 2.71, 32
11111111111111111111111111111111
>>> 2.71, 144
111111111111111111111111111111110111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111
>>> -9.8, 100
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
이후주의 -9.8
첫 번째, 너무 커서 1
출력 될 그 곳 주위에 149496620
(값이 정확하지 않을 수 있으므로, 수레를 통해 계산 된) 일 임기가.
h a p q
대신 정의h p q a
하면 바이트 가 저장됩니다.