0

たとえば、数値のミラーを返す関数を Mozart-Oz でプログラミングしています。

Mirror(1234) は 4321 を返します

とにかく、方法はわかりましたが、 integer の桁数を返す (整数を返す) 組み込み関数が必要なため、行き詰まっています。

{Length X} 関数を試しましたが、何を返すのかわかりません...

私の問題のコンテキストを理解するための私のコード(動作しません)は次のとおりです。

declare
fun {Mirror Int Acc}
if Int==0 then Acc
else {Mirror (Int div 10) (Int mod 10)*(10^({Length Int}-1))+Acc}end
end

{Browse {Mirror 1234 0}}
4

2 に答える 2

0

文字列に変換してその長さをとることで、桁数を見つけることができます。

  NumDigits = {Length {Value.toVirtualString Int 10 10}}

ところで、^演算子は Oz とは異なる意味を持ちます。あなたはおそらくそのPow機能が欲しいでしょう。

于 2014-03-28T15:27:38.330 に答える