python - 如果数字太小,例如 pow(1e+15+1,1/3),为什么我无法以浮点数的精度得到 python 的正确答案
问题描述
有我的功能
def eformat(f, prec, exp_digits):
s = "%.*e"%(prec, f)
mantissa, exp = s.split('e')
return "%se%+0*d"%(mantissa, exp_digits+1, int(exp))
n=int(input().strip())
l_test=[]
for i in range(n):
l_test.append(list(map(int,input().split())))
def fonc(l,r,k):
res=0
for i in range(l,r+1):
r1=10**(-k)
print(r1)
res+=(i+(r1))**(1/3)-i**(1/3)
return res
for i in range(n):
l,r,k=l_test[i]
res=fonc(l,r,k)`enter code here`
print(eformat(res,5,3))
输入 1 /n 1 1 15 正确答案应该是 3.3333E+016
解决方案
推荐阅读
- xquery - Xquery 在标记化时保留空格
- neo4j - 表达、查询和执行对图形内容的约束
- scala - 使用 pyspark 在数据框的架构中搜索
- mongodb - MongoDb 聚合框架对内部数组的元素进行分组
- python - 在 NeptuneDB(Gremlin) 中创建顶点时如何跳过 Null 属性
- javascript - 我遇到了一个问题,即“鼠标悬停”事件只是在我将鼠标悬停在所选元素上之前就开始了
- java - Java 密语
- internet-explorer - 如何拥有带有调试器窗口的控制台窗口
- python - 为什么这个 pandas str.extract 模式有效?
- c# - 在 C# 中将 CSV 导出到 SQL - 如何将导出偏移一列