“适合人数”
山姆有一个“聪明”的压缩想法!你能帮我吗?
这是Sam压缩方案的简要说明。首先采用严格小于2 ^ 16的任何自然数的基数10表示形式,并将其写为没有任何前导零的二进制字符串。
1-> 1 9-> 1001 15-> 1111 13-> 1101 16-> 10000 17-> 10001 65535-> 111111111111111
现在,用一个零替换一个或多个零的任何组。这是因为这个数字越来越少了。您的二进制字符串现在将如下所示。
1-> 1-> 1 9-> 1001-> 101 15-> 1111-> 1111 13-> 1101-> 1101 16-> 10000-> 10 17-> 10001-> 101 65535-> 111111111111111-> 111111111111111
现在,您将二进制字符串转换回以10为基数的表示形式,并以任何可接受的格式输出。这是您的测试案例。第一个整数表示输入,最后一个整数表示输出。请注意,有些数字不会改变,因此可以称为“适合”
1-> 1-> 1-> 1 9-> 1001-> 101-> 5 15-> 1111-> 1111-> 15 13-> 1101-> 1101-> 13 16-> 10000-> 10-> 2 17-> 10001-> 101-> 5 65535-> 1111111111111111-> 1111111111111111-> 65535 65000-> 1111110111101000-> 11111101111010-> 16250
您可以使用任何语言,但请注意,Sam讨厌标准漏洞。这是代码高尔夫球,因此代码可以尽可能短,以便为“压缩数字”腾出空间。
注意:这不是可接受的压缩方案。使用此功能将立即使您被解雇。
需要引证:我不相信这个概念。这来自@Conor O'Brien的博客,请参见此适合数字的OEIS。https://oeis.org/A090078
10000
吗?