在python中解决我使用https://www.spoj.com/problems/APM问题
t = int(input())
while t > 0:
n= int(input())
if n%2 == 0:
print(-1)
else:
n = int((n+1)/2)
print(n,n-1)
t -= 1
此代码被拒绝,
但对于这一点:
t = int(input())
while t > 0:
n= int(input())
if n%2 == 0:
print(-1)
else:
n = (n+1)//2
print(n,n-1)
t -= 1
接受,我的问题是为什么int((n1)/2)给出不同的ans,那么(n1)//2在大数n时
Python中的双斜杠执行整数除法,而单斜杠执行常规的旧除法,这可能产生浮点。
我在你链接到的问题中没有看到任何地方要求你有一个整数答案,但是我猜想作者希望它是这样的,以防止任何浮点精度错误阻止自动化测试用例的成功。
考虑:
import sys
print(sys.float_info)
i=(10**17+2)/2
j=(10**16+2)/2
print(i,j)
print(type(i), type(j))
i,j=int(i),int(j)
print(i,j)
print(type(i), type(j))
虽然您还远未达到< code>float的限制——您已经达到了float可以存储的位数的限制——所以在这个限制之后的所有数字都将在指数表示法中被截断——所以它们将是相同数量级的值,但是后面所有超出的数字都将是< code>0。
结论:
转换类型需要非常小心地处理细节 - 只需使用 \\
即可。
即使对于小 n
,也确实整数(n*(n-1)/2) == n*(n-1)//2
,对于大 n
可能会失败。原因是/
是浮点除法,这可能导致信息丢失,int()
无法恢复的信息:
>>> n = 10**18 - 1
>>> n*(n-1)
999999999999999997000000000000000002
>>> n*(n-1)//2
499999999999999998500000000000000001
>>> n*(n-1)/2
5e+35
>>> int(n*(n-1)/2)
500000000000000021210318687008980992
信息的丢失可以在5e 35
与499999999999999998500000000000000001
在编程时,我注意到math.exp(2)和math.e**2的结果之间存在差异。如下所示,在计算e^1时不会出现这种差异。 我不是一个有经验的程序员,我想知道为什么这不一样?我想这和围捕有关。python文档说返回,但这似乎并不完全正确。那么为什么操作与不同呢?
,和? 为什么只获得二次权的复杂根?我应该把它专门用于我的平方根吗?他们在背景中有什么不同?
问题内容: 我有一个基于JSF 1.2的webapp,从中复制了JSTL导入 您也可以在Internet上的许多地方找到此导入。我不记得是否在我以前的Web项目上合作与否,在任何情况下,它不工作,我目前的JSF 2.0 Web应用基础。我从集装箱收到警告说: 警告:此页面需要使用前缀c声明的XML名称空间http://java.sun.com/jstl/core,但该名称空间不存在标记库。 然后,
问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。
问题内容: 我正在使用SASS进行某些样式设置。我有基色,并且我希望所有其他颜色都相对于基色进行更改。我已经按照需要设置了颜色,但是颜色是硬编码的,而不是根据基本颜色计算得出的。 是否有一种工具可以快速为两种颜色之间的差异生成SASS颜色功能?但是它仅允许我使用滑块生成输出颜色,而不是自己设置输出颜色并生成函数。 希望这是有道理的。 问题答案: 您可以签出以下资源: 基本上,这是它的实质: 您想要
问题内容: 好的,所以我使用了很多输入命令,并且我了解在Python2中我可以做到: 但是现在我使用Python 3,我想知道两者之间有什么区别: 和: 我什么时候必须使用一个或另一个? 问题答案: 在Python 3.x中,成为,并删除了Python2.x 。因此,通过在3.x中执行此操作: 您基本上是在2.x中执行此操作: 在3.x中执行以下操作: 与在2.x中执行此操作相同: 以下是Pyth