私はprimtive recursive機能を使用してHaskellの中モジュラス機能を作成しようとしています。私はHaskellの弾性プリミティブ再帰
(それがウィキペディア上の例の関数のリスト上にあるので)それが可能だ知っていると私は、論理的にもそれを行うだろう方法を知っている...しかし、私はちょうどそれを実装することはできません!
IEは、ロジックは、私は(再びないハスケル)
function mod(a, b){
if(a < b) return a;
return mod(a - b, b);
}
しかし、私はちょうど実装することができないよう、再帰を使用して定義することができます(ないprimtive再帰またはハスケル)
function mod(a, b){
while(a > b)
a -= b
return a;
}
ですそれは基本的な再帰関数を使用しています。誰もがすることができれば、私は、私は本当に私は、このような(再びないハスケル)のように定義されたロジックのいくつかの並べ替えを必要とする私の問題を解決するために考えて< B
のロジックである私が行うことはできません
reduce(a, b)
= a >= b -> a-b
otherwise x
ビット(A/B - 私は(、B)=すなわちモッズ、潜在的に分割するのを利用した弾性率の関数を定義すると考えるのおかげ
編集:: 、それを本当に感謝します。この任意の部分で私を助けて除算のための私の原始再帰関数は、モジュロに依存しているので)* Bが、私は
笑それを行うことはできません0
'MOD AB | a
@DanBurtonユーザーはすでにこれを前に投稿していましたが、プリミティブな再帰関数のコンテキストに実際には関係ないので、彼のメッセージを削除しました – AlanFoster