【问题标题】:Convert string to respective data type ie. int or long (python3)将字符串转换为相应的数据类型,即。 int 或 long (python3)
【发布时间】:2018-01-04 03:43:18
【问题描述】:
temp=input()
l=list(map(int,temp.split()))
count=0
for i in range (1,min(l[0],l[1])+1):
    if l[0]%i==0 and l[1]%i==0:
        count+=1
print (count)

上面的代码需要 2 个或更多的数字并找到公因数的数量。这些数字的范围是 1 到 10**12。

如何处理这段代码中的 int 和 long 数据类型?请帮忙。

【问题讨论】:

  • python3中long和int没有区别。 (长不存在...)
  • 不确定,但您打算从 1 迭代到 10**12 吗?因为那是个坏主意……
  • @Jean-FrançoisFabre 解决此问题后,我会找到更好的方法。代码没有给出巨大值的输出。

标签: python-3.x int long-integer type-conversion factors


【解决方案1】:

与 Python 2 不同,Python 3 不区分 intlonglong 从 Python 3 中消失了)。它只是一个整数,甚至可以长于 64 位。

来自 Python 3 文档

Integers have unlimited precision.

【讨论】:

  • python 2 不同。无需将 hiro 的评论复制到不太详细的答案中。
  • @Jean-FrançoisFabre 我没有注意到那个评论。无论哪种方式,我都将其标记为社区,所以这个问题有一些答案。
  • 令人惊讶的是,我找不到完全相同的副本,所以赞成你的答案。
  • @Qeek 代码没有针对这两个数字运行,10000000000 15000000000 但正在针对这些数字运行,10000000000 1500000。
  • @PrashantSingh 您应该在问题中添加更多信息,例如“没有为这样的数字运行......”是什么意思?它什么都不打印,引发一些异常还是什么?也许更好的事件是创建关注您的问题而不是关注intlong 问题的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多