Я решил 84 проблемы Project Euler, в основном в Haskell.Сейчас я возвращаюсь и пытаюсь решить в J некоторые из тех, которые я уже решил в Хаскеле, как упражнение в изучении J.
В настоящее время я пытаюсь решить проблему 56 .Позвольте мне подчеркнуть, что Я уже знаю, какой правильный ответ , так как я уже решил его в Хаскеле.Это очень простая, тривиальная проблема. Я не буду здесь давать ответ.
Вот мое решение в J:
digits =: ("."0)@":"0
eachDigit =: adverb : 'u@:digits"0' NB. I use this so often I made it an adverb.
cartesian =: adverb : '((#~ #) u ($~ *:@#))'
>./ +/ eachDigit x: ^ cartesian >: i. 99
Это дает число меньше желаемого результата.Другими словами, это как-то не так.Любой Джерс там знает почему?Я сбит с толку, так как это довольно прямолинейно и грубо.