2017-02-20 3 views
-7

Also ich habe überall gesucht und kann es immer noch nicht herausfinden.Wie man eine ganze Zahl in zwei ganze Zahlen teilt, die wenn sie multipliziert werden, geben sie das Ergebnis der ersten Zahl

Im Grunde, was ich will zu tun ist aufgeteilt Nummer x in zwei ganzen Zahlen, dass, wenn multipliziert sie als Ergebnis geben x.

Zum Beispiel:
Input: 10
Output: 5, 2

Gibt es eine Möglichkeit, dies in Python zu tun? Danke im Voraus.

+1

Was meinst du damit vergleichen sie mit der Zahl 'c'. Bitte geben Sie * Eingabe * und * erwartete Ausgabe * an. Zeige, was du * probiert hast *, ... –

+2

Du kannst 'x' in' x, 1' teilen;) – kennytm

+1

wie würdest du die Zahl '123' * in zwei ganze Zahlen * aufteilen? – RomanPerekhrest

Antwort

1

Jede ganze Zahl ist durch sich selbst teilbar und von 1. Wenn die ganze Zahl Verbund ist, wird es zumindest ein anderes Paar von Teilern (die gleich sein können, wie im Falle von 4, das durch 1,4 und 2,2 teilbar ist).

lim = int(math.sqrt(num)) 
for i in range (1, lim): 
    if num%i==0: 
     print(i, int(num/i)) 
2

Mit diesem können Sie alle möglichen Kombinationen finden, einschließlich (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 
Verwandte Themen