1

プロジェクト Euler の 3 番目の演習の解決に取り組んでおり、以下の奇数をループする必要がありますsqrt(600851475143.0)。しかし、ループが繰り返されるたびに数値から 2 を引くことはできません。毎回同じままです。この回答によると、これは数値の格納方法と、小数点のすぐ上と下のすべてが失われることが原因です。これを解決するにはどうすればよいですか?10 進数が必要なため、int を使用できません (とにかく十分な大きさではありません)。

4

1 に答える 1

2

奇数を探していて、奇数は定義上整数であるため、浮動小数点演算の代わりに適切な整数型を使用してください。

于 2013-01-19T14:06:41.813 に答える