Alb*_*iks 6 java algorithm math primes rounding
在尝试设计算法时,我偶然发现了这个问题.这不是功课.
设P_i =第一个i素数的数组.现在我需要最小的i那样
Sum<n=0..i> 1 / (P_i[n]*P_i[n]) >= 1.
Run Code Online (Sandbox Code Playgroud)
(如果i存在的话).
i'th prime 的近似值是i*log(i).所以我在Java中尝试过这个:
public static viod main(String args[]) {
double sum = 0.0;
long i = 2;
while(sum<1.0) {
sum += 1.0 / (i*Math.log(i)*i*Math.log(i));
i++;
}
System.out.println(i+": "+sum);
}
Run Code Online (Sandbox Code Playgroud)
然而,上述情况并未完成,因为它收敛到0.7.然而1/100000000^2,0.0在Java中的轮次,所以这就是为什么它不起作用.出于同样的原因,如果用第6行替换它,它甚至都不起作用
sum += 1.0 / (i*i)
Run Code Online (Sandbox Code Playgroud)
1如果我没有弄错的话应该达到这一点,因为总和应该加快1/2^i,后者收敛1.换句话说,这表明Java舍入导致总和不能达到1.我认为i我的问题至少应该存在.