所以我到处寻找,仍然无法弄明白。
基本上我想要做的是将数字x
拆分成两个整数,当乘以时,它们会得到结果x
。
例如:
Input: 10
Output: 5, 2
有没有办法在python中执行此操作?提前谢谢。
答案 0 :(得分:2)
通过这种方式,您可以找到所有可能的组合,包括(1,x):
import math # Needed to generate the best range, so you have no repeated combinations.
possible_combinations = [(i, x / i) for i in range(1, int(math.ceil(x**0.5)) + 1) if x % i == 0]
for item in possible_combinations:
print item
答案 1 :(得分:1)
每个整数本身可以被1整除。如果整数是复合的,它将至少有另外一对除数(可能是相同的,就像4的情况一样,可以被1,4整除)和2,2)。
lim = int(math.sqrt(num))
for i in range (1, lim):
if num%i==0:
print(i, int(num/i))