Haskell具有此整洁(外观)功能,您可以为它提供三个数字,并且可以从中推断出一个算术序列。例如,[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是的最大整数≤ Ç其可以被表示为其中Ñ是一个正整数。[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规则。
- 标准的漏洞被禁止。
- b将永远是整除一个。
- 一个 < b ≤ Ç
- 挑战并不是要找到所有语言中最短的方法,而是要找到每种语言中最短的方法。
- 除非另有说明,否则您的代码将以字节计分,通常采用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