Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在研究 Euler 项目第三个练习的解决方案,我需要遍历下面的奇数sqrt(600851475143.0)。但是每次循环迭代时我都不能从数字中减去 2,它每次都保持不变。根据这个答案,这是由于数字的存储方式以及小数点以上和小数点以下的所有内容都丢失了。我该如何解决这个问题?我需要十进制数字,所以我不能使用 int (无论如何它都不够大)。
sqrt(600851475143.0)
由于您正在寻找奇数,而奇数根据定义是整数,因此只需使用适当的整数类型而不是浮点数学。