Haskell 은이 깔끔한 (-looking) 기능을 제공하여 세 개의 숫자를 제공 할 수 있으며 그로부터 산술 시퀀스를 유추 할 수 있습니다. 예를 [1, 3..27]
들어와 같습니다 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27]
.
그것은 시원하며 산술 시퀀스를 제외한 모든 것이 상당히 제한적입니다. 또한 pfft . 곱셈이있는 곳입니다. [1, 3..27]
반환 과 같은 기하학적 시퀀스를 수행하면 더 멋지지 [1, 3, 9, 27]
않습니까?
도전
기록 프로그램 / 기능 세 양수 얻어 , B 및 C 및 출력 여기서 x는 가장 큰 정수이다 ≤ C 로 표현 될 수있다 여기서, n은 양의 정수이다.[a, b, b × (b ÷ a), b × (b ÷ a)2, ..., x]
b × (b ÷ a)n
즉, 출력은 r 이어야 합니다.
r0 = a
r1 = b
rn = b × (b ÷ a)n-1
rlast = greatest integer ≤ c that can be represented as b × (b ÷ a)n
where n is a positive integer
명세서
- 표준 I / O 규칙이 적용됩니다 .
- 표준 허점 은 금지되어 있습니다.
- 나 항상로 나눌 수 것 .
- a < b ≤ c
- 이 과제는 모든 언어에서 가장 짧은 방법을 찾는 것이 아니라 각 언어에서 가장 짧은 방법을 찾는 것입니다 .
- 달리 지정하지 않는 한 코드는 일반적으로 인코딩 UTF-8 에서 바이트 단위 로 점수 가 매겨 집니다.
- 이 시퀀스를 계산하는 내장 함수 (Mathematica에는 하나 : P가있을 수 있음)가 허용 되지만 내장 함수에 의존하지 않는 솔루션을 포함하는 것이 좋습니다.
- "실제적인"언어에 대한 설명도 권장 됩니다.
테스트 사례
a b c r
1 2 11 [1, 2, 4, 8]
2 6 100 [2, 6, 18, 54]
3 12 57 [3, 12, 48]
4 20 253 [4, 20, 100]
5 25 625 [5, 25, 125, 625]
6 42 42 [6, 42]
몇 가지 더 나은 형식으로 :
1 2 11
2 6 100
3 12 57
4 20 253
5 25 625
6 42 42
1, 2, 11
2, 6, 100
3, 12, 57
4, 20, 253
5, 25, 625
6, 42, 42