dポイントプレゼントキャンペーン実施中!

Haskellの問題を解いていて意味がわからなかったので、教えてください。

Give a definition of the function
maxOccurs :: Integer -> Integer -> (Integer, Integer)
which returns the maximum of two integers, together with the number of times it occurs. Using this, or otherwise, define the function
maxThreeOccurs :: Integer -> Integer -> Integer -> (Integer, Integer)
which does a similar thing for three arguments.

という問題なのですが、3行目のtogetherからピリオードまでの意味がよくわかりません。
そのまま訳すと、
二つの整数の大きいほうと、それが生じる回数を返す。
だと思うのですが、それだとタプルの右側に何が入るのかわかりません。

和訳はこれであってるのでしょうか?
あっているとすれば、右側にはどんな数値がはいるのでしょうか?

A 回答 (1件)

全くHaskellなる言語(?)を知りませんが、


比較する整数は、一つづつシーケンシャルに比較していくので
最大値が上書きされる回数を戻してくれるという事ではないですか?

表記の印象だけからの想像ですが…

この回答への補足

Haskellでは
maxOccurs :; (入力) -> (入力) -> (出力)
なので、入力は二つしかないのです。
例えば、maxOccurs 2 3 = (3, ?) となります。
二つ以上なら上書きされる回数で納得できるのですが、
二つだけでは?は必ず1になってしまうので、意味がないような気がします。


もしかしたらカテゴリ変えたほうがいいですかね^^;

補足日時:2011/10/24 11:57
    • good
    • 0
この回答へのお礼

補足に間違いがありました。
maxOccurs 3 3 = (3, 2)
となるので意味はありますね。

どうやらこの考えであっているようです。
回答ありがとうございました。

お礼日時:2011/10/24 16:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!