2017-11-08 1 views
-3

こんにちはすべて私は再帰を使用し、>または<シンボルを使用せずに2つの数字のどちらが大きいかを調べようとしています。これも可能ですか? +または - ありがとうございます。どの番号が大きいかを調べるために再帰を使用する

+0

これまでに何を試みましたか?あなたはどこにいるのですか?これは "私のために私のために"サイトではありません。 – CoryKramer

+0

「これは可能ですか?」はい、もちろんです。 –

+0

この質問をどこから始めるべきかわかりません – JustJoe

答えて

1

私はあなたにハスケルのテスト実装を紹介しますそれは問題を解決するだろう。それは最良の解決策ではありませんが、インストラクターは効率性を求めているようではなく、問題について深く考えています。

-- |'myMax' takes two strictly positive ints and returns 
-- the larger of the two. 
myMax :: Int -> Int -> Int 
myMax 0 y = y 
myMax x 0 = x 
myMax x y = myMax (x-1) (y-1) 
+0

そのhaskellコードですか? –

+0

@DamianLatteneroはい、私のテキストはコードの上;) –

+0

は2行目で、関数MyMaxを表し、最初の数値が0なら2番目の数値が大きいことを意味していますか? – JustJoe

0

確かに再帰を使用すると、正の整数(0)は0または正の数の次数として表すことができます。 、数が0でない場合は、あなたが一歩を行くことができ、それが0であるかどうか尋ねる、と続ける、ということを考慮すると、コードでそれは次のようになります。

def greater_than(a,b): 
    if(a == 0): 
    return b!=0 
    elsif(b == 0): 
    return True 
    else: 
    return greater_than(a-1,b-1) 
+0

あなたの助けをありがとう – JustJoe

+0

@helpmeplz問題は、私がやったことを理解していれば、仕事が完了しました。あなたが答えにもっと説明したいのであれば、ありがとう、私に知らせてください –

+0

ああ、一番最後のこと、次回はあなたが質問をする前に試したコードを追加するのを忘れないでください!したがって、ユーザーは質問に投票しません。そして、1つの答えを受け入れるようにすることを忘れないでください。問題をもってあなたを助けた人は、ほとんどです –

関連する問題