gpt4 book ai didi

java - 总和(1/质数[i]^2)> = 1?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:01:46 29 4
gpt4 key购买 nike

在尝试设计算法时,我偶然发现了这个问题。这不是家庭作业。

令 P_i = 前 i 个素数的数组。现在我需要最小的 i 这样

Sum<n=0..i> 1 / (P_i[n]*P_i[n])  >=  1.

(如果这样的 i 存在)。

i 个素数的近似值是 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);
}

但是上面没有结束,因为它收敛到 0.7。但是 1/100000000^2 在 Java 中四舍五入为 0.0,所以这就是它不起作用的原因。出于同样的原因,如果您将第 6 行替换为

,它甚至不起作用
sum += 1.0 / (i*i)

如果我没记错的话应该达到 1,因为总和应该比 1/2^i 更快,后者收敛到 1 。换句话说,这表明 Java 舍入导致总和未达到 1。我认为我的问题的最小 i 应该存在。

最佳答案

在这个问题的数学方面,而不是 java 方面:

如果我理解问题,则没有解决方案(没有 i 值)。

对于任何有限的素数集 P_i {p_1, p_2,...p_i} 设 N_i 是直到 p_i, {1,2,3,...,p_i} 的所有整数的集合。总和 1/p^2(对于 P_i 中的所有 p_n)将小于 N_i 中 x 的所有 1/x^2 的总和。

1/x^2 的总和 tends to ~1.65但由于 1 永远不会出现在素数集中,因此总和被限制在 ~0.65

关于java - 总和(1/质数[i]^2)> = 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26421825/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com