私はProject Eulerの第4の問題の最適化されたソリューションを書き終えました。私がアルゴリズムを実装している間、私は設計上の選択に対して内部的な衝突を経験しました。オペレーションのプロダクトを将来の参照のために自身の変数に格納するか、それを変数として格納せずに、必要に応じて2つのオペランドの積を再現するかは不明でした。変数格納について
product = x * y
if (checkPalindrome(product) and product > largest_product):
largest_product = product
オペランドは「製品」に格納され、次の行で参照されます。私が持っている好奇心は、製品への参照が必要なときはいつでも、製品を再現する場合と比較して、これがより良い方法であると考えられるかどうかです。このように:
if (checkPalindrome(x * y) and x * y > largest_product):
largest_product = x * y
実装のこの違いは、スケーリング時にスペースや時間パフォーマンスに差が生じることはありますか?
これは、複数回の乗算を実行します。 2つのオブジェクト間の乗算が常に同じ値を返すという保証はないので、インタプリタはこの仮定を行うことはできません。 –
FWIW、興味のある[this code](http://stackoverflow.com/a/42713716/4014959)が見つかるかもしれません... –