FizzBuzz非常简单,您可以向后退。在此挑战中,将为您提供FizzBuzz字符串的长度,并且必须提供产生该字符串的正整数。
描述
为了解决这个问题,n以下算法生成了一个FizzBuzz字符串。
以一个空字符串开头,对于每个i=1..n(包括):
- 如果
i被3和整除5,则追加FizzBuzz到字符串。 - 如果
i只是被3追加整除Fizz。 - 如果
i只是被5追加整除Buzz。 - 如果不能
i被整除,请附加的十进制表示形式i。
因此,例如FizzBuzz(15)以下内容:
12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz
您将被给予Length(FizzBuzz(n))并且必须确定n。您可以假设输入为正,并且始终为某些FizzBuzz字符串的长度。
规则
您的解决方案可以是任何标准可接受语言的完整程序或功能定义。您的程序/函数可以接受参数并以任何标准接受的方式返回答案。禁止出现标准漏洞。
您可能会假设输入是肯定有效的(描述了某些FizzBuzz字符串的长度),并且小于您语言中本机可表示的最大整数。
这是代码高尔夫,因此最短的字节数获胜。
例子
这是一些例子
Length(FizzBuzz(n)) -> n
1 -> 1
6 -> 3
15 -> 6
313 -> 100
3677 -> 1001
编辑
修复了最后一个测试用例。谢谢@SteadyBox。