Trong khi cố gắng đưa ra một thuật toán, tôi tình cờ gặp câu hỏi này. Nó không phải là bài tập về nhà.tổng (1/số nguyên tố [i]^2)> = 1?
Hãy để P_i = một mảng các số nguyên tố i đầu tiên. Bây giờ tôi cần nhỏ nhất i
mà
Sum<n=0..i> 1/(P_i[n]*P_i[n]) >= 1.
(nếu như i
tồn tại).
Một xấp xỉ cho số nguyên tố i
'là i*log(i)
. Vì vậy, tôi đã thử điều này trong 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);
}
Tuy nhiên ở trên không kết thúc vì nó hội tụ đến 0,7. Tuy nhiên, 1/100000000^2
vòng tới 0.0
bằng Java, vì vậy đó là lý do tại sao nó không hoạt động. Đối với lý do tương tự nó thậm chí không hoạt động nếu bạn thay thế dòng thứ 6 với
sum += 1.0/(i*i)
trong khi đó nên đạt 1
nếu tôi không nhầm, bởi vì số tiền nên incease nhanh hơn 1/2^i
và hội tụ sau để 1
. Nói cách khác, điều này cho thấy rằng làm tròn Java làm cho tổng số không đạt được 1
. Tôi nghĩ rằng tối thiểu i
của vấn đề của tôi nên tồn tại.
tôi không nên ngạc nhiên nếu [không chính xác trong IEEE-754 đôi điểm nổi chính xác] (http://stackoverflow.com/questions/588004/is-floating-point-math-broken) đi vào nơi này ... :-) –
Liên quan: [tổng của nghịch đảo của số nguyên tố bình phương] (http://mathoverflow.net/q/53443) –
@squeamishossifrage liên kết khá nhiều câu trả lời cho câu hỏi của tôi. tôi không tồn tại. –