jac*_*ver 5 python code-golf code-snippets
我试图在这里解决这个问题: - https://www.spoj.pl/problems/PHIVAL/
这些问题要求您输出尽可能多的黄金比例(1 + sqrt(5))/ 2的十进制数字,并尝试最小化代码长度.
这就是我现在所拥有的.这段代码可以缩短吗?
from decimal import *
getcontext().prec=7050
print(1+Decimal(5).sqrt())/2
Run Code Online (Sandbox Code Playgroud)
您可以去掉星号之前的空格。
更新:
您添加了关于无关紧要的空白的部分,所以我开始考虑一种不同的方法。如果不计算空白,您可能可以执行以下操作
print"1."+`map(len,"""
""".split("\n"))`[1::3]
Run Code Online (Sandbox Code Playgroud)
它将每个数字编码为多行字符串常量中一行上的多个空格。显然,您可以添加更多行来获得更多数字。它应该运行得相当快,因为几乎不需要进行任何计算。它使用50 个(更新 2:45)非空白字符来生成任意数量的数字输出。