#include <iostream> #include <cmath> #include <fstream> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ bool isPrime(int num) { int temp; if(num < 2) { return false; } else { temp = sqrt(num); for(int i = 2;i <= temp;++i) { if(num % i == 0) { return false; } } return true; } } int main(int argc, char** argv) { ofstream fout; fout.open("out.txt",ios::out); for(int i = 1, j = 2;i < 1000;++i, ++j) { for(;!isPrime(j);++j); fout << i << " " << j << " " << (double)(i)/(double)(j) << endl; } fout.close(); return 0; }
这段代码的含义是用从1开始的递增为1的等差数列除以从小到大的素数数列。运行这段代码后,我们得到了结果。不难发现,前1000个孪生素数,除了5和7,347和349之外,所有的孪生素数的除法结果都是相近的(即精确到小数点后1位都是相等的)。我们还可以发现素数之间的差距似乎是越拉越大,但是除法结果也有后一个比前一个大的,比如179和181。
1 2 0.5
2 3 0.666667
3 5 0.6
4 7 0.571429
5 11 0.454545
6 13 0.461538
7 17 0.411765
8 19 0.421053
9 23 0.391304
10 29 0.344828
11 31 0.354839
12 37 0.324324
13 41 0.317073
14 43 0.325581
15 47 0.319149
16 53 0.301887
17 59 0.288136
18 61 0.295082
19 67 0.283582
20 71 0.28169
21 73 0.287671
22 79 0.278481
23 83 0.277108
24 89 0.269663
25 97 0.257732
26 101 0.257426
27 103 0.262136
28 107 0.261682
29 109 0.266055
30 113 0.265487
31 127 0.244094
32 131 0.244275
33 137 0.240876
34 139 0.244604
35 149 0.234899
36 151 0.238411
37 157 0.235669
38 163 0.233129
39 167 0.233533
40 173 0.231214
41 179 0.22905
42 181 0.232044
43 191 0.225131
44 193 0.227979
45 197 0.228426
46 199 0.231156
47 211 0.222749
48 223 0.215247
49 227 0.215859
50 229 0.218341
51 233 0.218884
52 239 0.217573
53 241 0.219917
54 251 0.215139
55 257 0.214008
56 263 0.212928
57 269 0.211896
58 271 0.214022
59 277 0.212996
60 281 0.213523
61 283 0.215548
62 293 0.211604
63 307 0.205212
64 311 0.205788
65 313 0.207668
66 317 0.208202
67 331 0.202417
68 337 0.20178
69 347 0.198847
70 349 0.200573
71 353 0.201133
72 359 0.200557
73 367 0.19891
74 373 0.198391
75 379 0.197889
76 383 0.198433
77 389 0.197943
78 397 0.196474
79 401 0.197007
80 409 0.195599
81 419 0.193317
82 421 0.194774
83 431 0.192575
84 433 0.193995
85 439 0.193622
86 443 0.194131
87 449 0.193764
88 457 0.19256
89 461 0.193059
90 463 0.194384
91 467 0.194861
92 479 0.192067
93 487 0.190965
94 491 0.191446
95 499 0.190381
96 503 0.190855
97 509 0.19057
98 521 0.1881
99 523 0.189293
100 541 0.184843
101 547 0.184644
102 557 0.183124
103 563 0.182948
104 569 0.182777
105 571 0.183888
106 577 0.183709
107 587 0.182283
108 593 0.182125
109 599 0.18197
110 601 0.183028
111 607 0.182867
112 613 0.182708
113 617 0.183144
114 619 0.184168
115 631 0.18225
116 641 0.180967
117 643 0.18196
118 647 0.18238
119 653 0.182236
120 659 0.182094
121 661 0.183056
122 673 0.181278
123 677 0.181684
124 683 0.181552
125 691 0.180897
126 701 0.179743
127 709 0.179126
128 719 0.178025
129 727 0.177442
130 733 0.177353
131 739 0.177267
132 743 0.177658
133 751 0.177097
134 757 0.177015
135 761 0.177398
136 769 0.176853
137 773 0.177232
138 787 0.175349
139 797 0.174404
140 809 0.173053
141 811 0.173859
142 821 0.17296
143 823 0.173755
144 827 0.174123
145 829 0.17491
146 839 0.174017
147 853 0.172333
148 857 0.172695
149 859 0.173458
150 863 0.173812
151 877 0.172178
152 881 0.172531
153 883 0.173273
154 887 0.173619
155 907 0.170893
156 911 0.17124
157 919 0.170838
158 929 0.170075
159 937 0.169691
160 941 0.170032
161 947 0.170011
162 953 0.16999
163 967 0.168563
164 971 0.168898
165 977 0.168884
166 983 0.168871
167 991 0.168517