まだJの学習過程にあります...解決すべき問題は、合計の2乗から自然整数の2乗の合計を引いたものを表すことです。
素朴な解決策は
(*:+/>:i.100) - (+/*:>:i.100)
さて、フォークを使ってリストを一度だけ書けるようにしたいと思います>:i.100
。私のフォークは次のようにする必要があります:
h
/ \
f g
| |
x x
ここf
で、g
は合計の2乗、は2乗の合計、h
はマイナスです。だから、素朴に、私は書いた:
((*:+/) - (+/*:)) >:i.100
しかし、それは私にドメインエラーを与えます。なんで?私も試しました:
(+/ (*: - +/) :*) >: i.100
そして今回、それは私に数字の長いリストを与えます...それは@
接続詞と関係があると思います、しかし私はまだAtが何をするのか理解していません...私の探求を続けて、私はついに得ました
((+/*+/) - +/@:*:) >:i.100
しかし、演算子を使用する代わりに手動で二乗を計算するという事実は好きではありません。また、接続詞*:
が必要な理由がよくわかりません。@:
誰かが私にこの問題についていくつかの光を与えることができますか?