我试图在这里解决这个问题: – https://www.spoj.pl/problems/PHIVAL/
这些问题要求您输出尽可能多的黄金比例(1 sqrt(5))/ 2的十进制数字,并尝试最小化代码长度.
这就是我现在所拥有的.这段代码可以缩短吗?
from decimal import * getcontext().prec=7050 print(1+Decimal(5).sqrt())/2
更新:
你添加了关于无关紧要的空白的部分,所以我开始考虑采用不同的方法.如果没有计算空格,你可以做这样的事情
print"1."+`map(len,""" """.split("\n"))`[1::3]
它将每个数字编码为多行字符串常量中一行上的多个空格.显然,你可以添加更多行来获得更多数字.它应该运行得非常快,因为计算量非常少.它使用50(更新2:45)非空白字符来产生任意数量的数字输出.