2016-04-02 13 views
-1

2つの引数を取った後に除算の商と剰余を返す関数を書く必要があります。最初の被除数、2番目の除数は被除数から除数を再帰的に減算します。減算と加算のみを使った再帰的な除算

def recursive_division (a, b, c = 0): 
    if b == 0: 
     return ("(Cannot divide by zero)","(Cannot divide by zero)") 
    elif a < b: 
     return (c,a) 
    else: 
     return recursive_division (a - b, b, 1 + c) 

機能でゼロと定義のC ...関数が定義されたときにのみ、二つの引数を持つのみまたはbに基づいて何かを返すと、デフォルトの変数を持たずに商を見つける方法はありますか? (以下の例)

def recursive division (a, b) 
    ... 
    return (x, y) 
+1

あなたはこの作品を作ったしているものの問題を説明する必要があります。 – snakecharmerb

+0

はい、recursive_division呼び出しから戻ってきたときに除数を増やして、 'c'を避けることができます。 – Lucero

+0

@Luceroあなたは何を意味するのかを教えてください –

答えて

1

はい、あなたはrecursive_division再帰によって返された除数を増やすことでcの使用を避けることができます。そのような

何か(テストしていません):

def recursive_division (a, b): 
    if b == 0: 
     return ("(Cannot divide by zero)","(Cannot divide by zero)") 
    elif a < b: 
     return (0, a) 
    else: 
     (x, y) = recursive_division (a - b, b) 
     return (x+1, y)