数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 重生888@

推介吴代业《新型质数表》

[复制链接]
 楼主| 发表于 2026-8-19 10:14 | 显示全部楼层
cuikun-186 发表于 2026-8-19 08:29
争议焦点:它真的“可行”吗?
在“数学中国”等论坛上,这套理论遭到了大量质疑,主要问题集中在以下几 ...

“试除”是思维定式!坏就坏在“试除"上!核心创新是“乘法定位合数,加法标记合数,质数自然生成”!把不可能变为可能!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-8-19 10:31 | 显示全部楼层
30n+31:   0011000001      n=0   1   (  30*0+31=31        30n*1+31=61  )   是质数;   n=2  3    ( 30*2+31=91     30*3+31=121 ) 是合数    n=4   5   6  7   8    (151    181   211    241    271 ) 是质数;   n=9    30*9+31=301    (合数,超过300)
回复 支持 反对

使用道具 举报

发表于 2026-8-19 10:35 | 显示全部楼层
重生888@ 发表于 2026-8-19 10:14
“试除”是思维定式!坏就坏在“试除"上!核心创新是“乘法定位合数,加法标记合数,质数自然生成”!把 ...


我给你一段代码————



#!/usr/bin/env python3
"""
╔══════════════════════════════════════════════════════════════════╗
║                  PrimeGenerator  v3.0  (Ultimate)               ║
║  核心哲学:乘法定位合数 → 加法标记合数 → 质数自然浮现           ║
╚══════════════════════════════════════════════════════════════════╝
"""

from __future__ import annotations

import math
import random
import time
from typing import Iterator, List, Optional, Tuple
from dataclasses import dataclass
from functools import lru_cache


# ============================================================
#  全局小素数缓存(启动即加载,加速所有试除/预筛逻辑)
# ============================================================

def _load_small_primes(limit: int = 10000) -> List[int]:
    """快速生成小素数表,用于后续预筛"""
    sieve = bytearray(b"\x00") * (limit + 1)
    primes = []
    for i in range(2, limit + 1):
        if not sieve:
            primes.append(i)
            for m in range(i * i, limit + 1, i):
                sieve[m] = 1
    return primes


SMALL_PRIMES = _load_small_primes(10000)
SMALL_PRIME_SET = frozenset(SMALL_PRIMES)


# ============================================================
#  错误类型
# ============================================================

class PrimeError(Exception):
    """素数模块基础异常"""
    pass


class NotFoundError(PrimeError):
    """在指定范围内未找到素数"""
    pass


# ============================================================
#  性能统计
# ============================================================

@dataclass
class PrimeStats:
    """性能统计"""
    count: int = 0
    elapsed_ms: float = 0.0
    method: str = ""

    @property
    def rate(self) -> float:
        return self.count / self.elapsed_ms * 1000 if self.elapsed_ms > 0 else 0.0


# ============================================================
#  主类
# ============================================================

class PrimeGenerator:
    """
    工业级素数生成器

    功能覆盖:
        ✅ 基础埃氏筛(bytearray 内存优化)
        ✅ 奇数-only 筛(内存减半)
        ✅ 线性筛(O(n) 时间,每个合数只被标记一次)
        ✅ 分段筛(超大区间,缓存友好)
        ✅ 迭代器 / 生成器接口
        ✅ 米勒-拉宾确定性素性测试
        ✅ 大素数生成(密码学级)
        ✅ 第 N 个素数 / 素数计数 π(x)
        ✅ 质因数分解(Pollard-Rho)
        ✅ 孪生素数 / 梅森素数检测
    """

    # ----------------------------------------------------------
    #  ① 经典埃氏筛(简洁版)
    # ----------------------------------------------------------

    @staticmethod
    def sieve(n: int) -> List[int]:
        """
        经典埃拉托斯特尼筛法
        返回 [2, n] 内所有素数
        时间 O(n log log n),空间 O(n)
        """
        if n < 2:
            return []
        if n == 2:
            return [2]

        # bytearray: 0=素数候选, 1=合数
        composite = bytearray(n + 1)
        composite[0] = composite[1] = 1

        primes: List[int] = []
        sqrt_n = math.isqrt(n)

        for i in range(2, sqrt_n + 1):
            if not composite:
                primes.append(i)
                # 乘法定位:i*i 起跳,加法步进标记
                composite[i*i : n+1 : i] = b"\x01" * ((n - i*i) // i + 1)

        # 收集 sqrt(n) 以上的素数
        for i in range(max(sqrt_n + 1, 3), n + 1):
            if not composite:
                primes.append(i)

        return primes

    # ----------------------------------------------------------
    #  ② 奇数筛(内存减半)
    # ----------------------------------------------------------

    @staticmethod
    def sieve_odd(n: int) -> List[int]:
        """
        仅筛奇数:索引 k 对应数值 2k+1
        内存占用约为经典版的 1/2
        """
        if n < 2:
            return []
        if n == 2:
            return [2]

        half = (n + 1) // 2          # 奇数个数
        composite = bytearray(half)   # composite[k] → 2k+1 是否为合数
        primes = [2]

        for k in range(1, math.isqrt(n) // 2 + 1):
            if not composite[k]:
                p = 2 * k + 1
                primes.append(p)
                # 起始:p*p → 索引 = (p*p-1)//2
                start = (p * p - 1) // 2
                # 步长 p 个"奇数位" = 数值步长 2p
                composite[start : half : p] = b"\x01" * ((half - start - 1) // p + 1)

        # 剩余未标记的奇数
        for k in range(math.isqrt(n) // 2 + 1, half):
            if not composite[k]:
                primes.append(2 * k + 1)

        return primes

    # ----------------------------------------------------------
    #  ③ 线性筛(Euler 筛,O(n) 最优)
    # ----------------------------------------------------------

    @staticmethod
    def sieve_linear(n: int) -> List[int]:
        """
        Euler 线性筛
        每个合数仅被其最小质因子标记一次
        时间复杂度严格 O(n)
        """
        if n < 2:
            return []
        if n == 2:
            return [2]

        composite = bytearray(n + 1)
        primes: List[int] = []

        for i in range(2, n + 1):
            if not composite:
                primes.append(i)
            for p in primes:
                if i * p > n:
                    break
                composite[i * p] = 1
                if i % p == 0:       # 保证每个合数只被最小质因子标记
                    break

        return primes

    # ----------------------------------------------------------
    #  ④ 生成器 / 迭代器(惰性逐个产出)
    # ----------------------------------------------------------

    @staticmethod
    def iter_primes(n: int) -> Iterator[int]:
        """惰性生成 [2, n] 内素数,几乎不占额外内存"""
        if n < 2:
            return
        yield 2
        if n < 3:
            return

        half = (n + 1) // 2
        composite = bytearray(half)

        for k in range(1, math.isqrt(n) // 2 + 1):
            if not composite[k]:
                yield 2 * k + 1
                start = (2 * k + 1) ** 2
                step = 2 * (2 * k + 1)
                for m in range(start, n + 1, step):
                    idx = m // 2
                    if idx < half:
                        composite[idx] = 1

        for k in range(math.isqrt(n) // 2 + 1, half):
            if not composite[k]:
                yield 2 * k + 1

    # ----------------------------------------------------------
    #  ⑤ 分段筛(Segmented Sieve)
    # ----------------------------------------------------------

    @staticmethod
    def segmented_sieve(low: int, high: int) -> List[int]:
        """
        分段筛:生成 [low, high] 内所有素数
        空间复杂度 O(√high + 区间宽度),适合超大范围
        """
        if high < 2:
            return []
        low = max(low, 2)
        if low > high:
            return []

        sqrt_h = math.isqrt(high) + 1
        base_primes = PrimeGenerator.sieve(sqrt_h)

        result: List[int] = []
        segment_size = max(32768, sqrt_h)  # 缓存友好块大小

        while low <= high:
            upper = min(low + segment_size - 1, high)
            size = upper - low + 1
            block = bytearray(size)  # 0=素数候选

            for p in base_primes:
                # 找到 >= low 的最小 p 倍数
                start = ((low + p - 1) // p) * p
                for m in range(start, upper + 1, p):
                    block[m - low] = 1

            for i in range(size):
                if not block:
                    val = low + i
                    if val >= 2:
                        result.append(val)

            low = upper + 1

        return result

    # ----------------------------------------------------------
    #  ⑥ 米勒-拉宾确定性素性测试
    # ----------------------------------------------------------

    @staticmethod
    def is_prime(n: int) -> bool:
        """
        确定性米勒-拉宾素性测试
        - n < 2^64 :固定基底,100% 正确
        - n ≥ 2^64 :40 轮随机,错误概率 < 4^(-40)
        """
        if n < 2:
            return False
        if n in SMALL_PRIME_SET:
            return True
        if n % 2 == 0 or n % 3 == 0 or n % 5 == 0:
            return False

        # 快速试除小素数(排除大量合数)
        for p in SMALL_PRIMES:
            if p * p > n:
                break
            if n % p == 0:
                return False

        # 分解 n-1 = d * 2^s
        d = n - 1
        s = 0
        while d & 1 == 0:
            d >>= 1
            s += 1

        # ---- 确定性基底 ----
        if n < 2_152_302_898_747:
            bases = [2, 3, 5, 7, 11]
        elif n < 3_474_749_660_383:
            bases = [2, 3, 5, 7, 11, 13]
        elif n < 341_550_071_728_321:
            bases = [2, 3, 5, 7, 11, 13, 17]
        elif n < 2**64:
            bases = [2, 325, 9375, 28178, 450775, 9780504, 1795265022]
        else:
            # 超大数:随机 40 轮
            for _ in range(40):
                a = random.randrange(2, n - 1)
                if not PrimeGenerator._miller_witness(a, d, s, n):
                    return False
            return True

        for a in bases:
            if a % n == 0:
                continue
            if PrimeGenerator._miller_witness(a, d, s, n):
                return False
        return True

    @staticmethod
    def _miller_witness(a: int, d: int, s: int, n: int) -> bool:
        """米勒-拉宾单次 witness 检测,返回 True 表示 n 一定是合数"""
        x = pow(a, d, n)
        if x == 1 or x == n - 1:
            return False
        for _ in range(s - 1):
            x = (x * x) % n
            if x == n - 1:
                return False
        return True

    # ----------------------------------------------------------
    #  ⑦ 大素数生成(密码学级)
    # ----------------------------------------------------------

    @staticmethod
    def generate_prime(bits: int, safe: bool = False, timeout: float = 30.0) -> int:
        """
        生成 bits 位素数
        safe=True  → 生成安全素数 p = 2q+1(q 也是素数)
        timeout    → 超时(秒),防止死循环
        """
        if bits < 2:
            raise ValueError("bits 必须 ≥ 2")

        start = time.monotonic()

        while True:
            if time.monotonic() - start > timeout:
                raise TimeoutError(f"{timeout}s 内未生成 {bits} 位素数")

            # 最高位 + 最低位(奇数)置 1
            n = random.getrandbits(bits)
            n |= (1 << (bits - 1)) | 1

            if PrimeGenerator.is_prime(n):
                if not safe:
                    return n
                # 安全素数:q = (n-1)/2 也必须是素数
                q = (n - 1) // 2
                if PrimeGenerator.is_prime(q):
                    return n

    @staticmethod
    def generate_prime_pair(bits: int) -> Tuple[int, int]:
        """生成 RSA 用的素数对 (p, q)"""
        p = PrimeGenerator.generate_prime(bits)
        q = PrimeGenerator.generate_prime(bits)
        while q == p:
            q = PrimeGenerator.generate_prime(bits)
        return p, q

    # ----------------------------------------------------------
    #  ⑧ 第 N 个素数(带近似定位)
    # ----------------------------------------------------------

    @staticmethod
    def nth_prime(n: int) -> int:
        """
        返回第 n 个素数(从 1 开始)
        利用素数定理近似上界,再筛出
        """
        if n < 1:
            raise ValueError("n 必须 ≥ 1")
        if n <= len(SMALL_PRIMES):
            return SMALL_PRIMES[n - 1]

        # 素数定理近似上界:n ln n + n ln ln n
        upper = int(n * (math.log(n) + math.log(math.log(n))) + 50)
        upper = max(upper, 100)

        while True:
            primes = PrimeGenerator.sieve(upper)
            if len(primes) >= n:
                return primes[n - 1]
            upper *= 2  # 不够就翻倍

    # ----------------------------------------------------------
    #  ⑨ 质因数分解(Pollard's Rho)
    # ----------------------------------------------------------

    @staticmethod
    def factorize(n: int) -> List[int]:
        """
        Pollard's Rho + 米勒拉宾
        返回素因子列表(含重复)
        """
        if n < 2:
            return []
        if PrimeGenerator.is_prime(n):
            return [n]

        factors: List[int] = []

        def _rho(x: int) -> int:
            """Pollard Rho 找因子"""
            if x % 2 == 0:
                return 2
            if PrimeGenerator.is_prime(x):
                return x

            while True:
                c = random.randrange(1, x)
                f = lambda a: (pow(a, 2, x) + c) % x
                a, b, d = 2, 2, 1
                while d == 1:
                    a = f(a)
                    b = f(f(b))
                    d = math.gcd(abs(a - b), x)
                if d != x:
                    return d

        stack = [n]
        while stack:
            v = stack.pop()
            if v == 1:
                continue
            if PrimeGenerator.is_prime(v):
                factors.append(v)
                continue
            d = _rho(v)
            stack.append(d)
            stack.append(v // d)

        return sorted(factors)

    @staticmethod
    def factorize_unique(n: int) -> List[Tuple[int, int]]:
        """返回 [(素因子, 指数), ...] 格式"""
        from collections import Counter
        f = PrimeGenerator.factorize(n)
        return sorted(Counter(f).items())

    # ----------------------------------------------------------
    #  ⑩ 特殊素数检测
    # ----------------------------------------------------------

    @staticmethod
    def is_twin(p: int) -> bool:
        """判断 p 是否属于孪生素数对(p 和 p+2 或 p-2 同为素数)"""
        return PrimeGenerator.is_prime(p) and (
            PrimeGenerator.is_prime(p + 2) or PrimeGenerator.is_prime(p - 2)
        )

    @staticmethod
    def is_mersenne(p: int) -> bool:
        """判断 p 是否为梅森素数(2^p - 1 是素数)"""
        if not PrimeGenerator.is_prime(p):
            return False
        m = (1 << p) - 1  # 2^p - 1
        return PrimeGenerator.is_prime(m)

    @staticmethod
    def pi(x: int) -> int:
        """素数计数函数 π(x):返回 ≤ x 的素数个数"""
        if x < 2:
            return 0
        return len(PrimeGenerator.sieve(x))

    # ----------------------------------------------------------
    #  &#9322; 性能基准测试
    # ----------------------------------------------------------

    @staticmethod
    def benchmark(n: int = 10_000_000) -> str:
        """对比三种筛法性能"""
        import time as t

        methods = [
            ("经典埃氏筛", PrimeGenerator.sieve),
            ("奇数筛", PrimeGenerator.sieve_odd),
            ("线性筛", PrimeGenerator.sieve_linear),
        ]

        lines = [f"{'='*55}", f"  素数筛性能基准 (n={n:,})", f"{'='*55}"]
        for name, func in methods:
            t0 = t.perf_counter()
            primes = func(n)
            elapsed = (t.perf_counter() - t0) * 1000
            lines.append(f"  {name:12s} → {len(primes):>7,} 个素数 | {elapsed:>8.1f} ms")
        lines.append(f"{'='*55}")
        return "\n".join(lines)


# ============================================================
#  便捷函数(模块级,方便直接调用)
# ============================================================

def primes_upto(n: int) -> List[int]:
    return PrimeGenerator.sieve(n)

def is_prime(n: int) -> bool:
    return PrimeGenerator.is_prime(n)

def nth_prime(n: int) -> int:
    return PrimeGenerator.nth_prime(n)

def factorize(n: int) -> List[int]:
    return PrimeGenerator.factorize(n)


# ============================================================
#  演示 & 自测
# ============================================================

if __name__ == "__main__":

    pg = PrimeGenerator()

    print("╔══════════════════════════════════════╗")
    print("║     PrimeGenerator v3.0  Demo       ║")
    print("╚══════════════════════════════════════╝\n")

    # 1. 基础筛
    print("&#9654; 100 以内素数:")
    print(f"  {pg.sieve(100)}\n")

    # 2. 迭代器
    print("&#9654; 50 以内素数(迭代器):")
    print(f"  {list(pg.iter_primes(50))}\n")

    # 3. 分段筛
    print("&#9654; [1000, 1050] 区间素数:")
    print(f"  {pg.segmented_sieve(1000, 1050)}\n")

    # 4. 第 N 个素数
    print("&#9654; 第 100 / 1000 / 10000 个素数:")
    for n in [100, 1000, 10000]:
        p = pg.nth_prime(n)
        print(f"  π({n}) = {p}")
    print()

    # 5. 素性测试
    print("&#9654; 米勒-拉宾素性测试:")
    test_nums = [982451653, 9999999967, 1234567891, 999999999989]
    for v in test_nums:
        print(f"  is_prime({v:,}) = {pg.is_prime(v)}")
    print()

    # 6. 大素数生成
    print("&#9654; 生成 128 位素数:")
    big = pg.generate_prime(128)
    print(f"  {big}  (bit_length={big.bit_length()})")
    print(f"  素性验证: {pg.is_prime(big)}\n")

    # 7. 安全素数
    print("&#9654; 生成 64 位安全素数 (p=2q+1):")
    safe_p = pg.generate_prime(64, safe=True)
    q = (safe_p - 1) // 2
    print(f"  p = {safe_p}  (prime: {pg.is_prime(safe_p)})")
    print(f"  q = {q}  (prime: {pg.is_prime(q)})\n")

    # 8. 质因数分解
    print("&#9654; Pollard-Rho 质因数分解:")
    demo_nums = [123456789012345, 987654321098765, 2**10 * 3**5 * 7**3]
    for v in demo_nums:
        fac = pg.factorize_unique(v)
        fac_str = " × ".join(f"{p}^{e}" if e > 1 else str(p) for p, e in fac)
        print(f"  {v:,} = {fac_str}")
    print()

    # 9. 孪生素数
    print("&#9654; 孪生素数对 (前 10 对):")
    twins = []
    for p in pg.iter_primes(1000):
        if pg.is_twin(p) and p + 2 <= 1000 and pg.is_prime(p + 2):
            twins.append((p, p + 2))
            if len(twins) >= 10:
                break
    for a, b in twins:
        print(f"  ({a}, {b})")
    print()

    # 10. 梅森素数
    print("&#9654; 梅森素数 (p 使 2^p-1 为素数, p≤31):")
    for p in [2, 3, 5, 7, 13, 17, 19, 31]:
        if pg.is_mersenne(p):
            m = (1 << p) - 1
            print(f"  M_{p} = {m:,}")
    print()

    # 11. 性能基准
    print(pg.benchmark(5_000_000))
    print()

    # 12. 素数定理验证
    print("&#9654; 素数定理验证 π(x) ≈ x/ln(x):")
    for x in [1000, 10000, 100000, 1000000]:
        actual = pg.pi(x)
        approx = x / math.log(x)
        err = abs(actual - approx) / actual * 100
        print(f"  π({x:,}) = {actual:,}  |  x/ln(x) ≈ {approx:,.1f}  |  误差 {err:.1f}%")
    print()

    print("&#9989; 全部演示完成")


点评

还是老哥厉害!  发表于 2026-8-19 12:59
谢谢先生辛苦!如果感兴趣,可加微信。(电话.....)  发表于 2026-8-19 11:12
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-8-19 11:09 | 显示全部楼层
风花飘飘 发表于 2026-8-19 10:35
我给你一段代码————

谢谢风花飘飘先生辛苦!我不懂编程,八十多岁,也没精力学。在次感谢您鼓励!
回复 支持 反对

使用道具 举报

发表于 2026-8-19 11:34 | 显示全部楼层







微信号就是手机号。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

谢谢老弟,记住了。  发表于 2026-8-19 16:57
记下了,我的老师!!!  发表于 2026-8-19 13:00
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-8-19 17:06 | 显示全部楼层
风花飘飘 发表于 2026-8-19 11:34
微信号就是手机号。

嫦娥数学中心(月球),搜到后再交流,谢谢!。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-9-1 10:43 | 显示全部楼层
顶上来,希望波斯猫猫看到这篇“推介文章!”
回复 支持 反对

使用道具 举报

发表于 2026-9-1 14:40 | 显示全部楼层
本帖最后由 yangchuanju 于 2026-9-1 15:53 编辑

30031以内吴代业新型质数表       
0        00000000
1        00001000
2        00010001
3        00000011
4        00100100
5        01001000
6        10000110
7        11000000
8        10101000
9        00011011
10        00001110
11        01100001
12        01010001
13        00110100
14        10010001
15        00001101
16        00110001
17        10011110
18        01101000
19        01101000
20        01000110
21        10001000
22        11001010
23        10110101
24        01010010
25        00110011
26        01101100
27        10000101
28        11000011
29        00001111
30        00110101
31        00101011
32        00101010
33        01110000
34        10010100
35        10010111
36        00001001
37        01010111
38        10011010
39        10101010
40        11001000
41        01110101
42        11100000
43        00001100
44        01111111
45        10101010
46        11110101
47        11000001
48        00010110
49        10000001
50        10111010
51        11010001
52        00110011
53        00100000
54        01101111
55        01000111
56        11000101
57        10011010
58        01010111
59        01000110
60        10111010
61        11101110
62        00000101
63        10101011
64        10011100
65        11111001
66        01000010
67        01100101
68        11011001
69        10000101
70        10011100
71        00011010
72        11110111
73        11001010
74        11100010
75        11100010
76        01001100
77        11111000
78        00101110
79        00010001
80        10101011
81        00101101
82        01001111
83        11011110
84        10110000
85        01111101
86        10011101
87        00111011
88        01100010
89        01000001
90        00010100
91        10110011
92        01101100
93        00011101
94        11001010
95        00111101
96        01101001
97        01101101
98        11001000
99        11111100
100        10110011
101        00110110
102        01110001
103        11110100
104        11101111
105        11000110
106        00111001
107        00110111
108        10000110
109        11111100
110        01010000
111        11001100
112        10011100
113        11101011
114        11011101
115        00000111
116        10110110
117        01100000
118        01100110
119        10011011
120        01001010
121        01011101
122        10001110
123        00110101
124        01010111
125        10100101
126        11001011
127        10011011
128        00011011
129        00110111
130        00100000
131        11001111
132        01111101
133        10001000
134        01111100
135        01111001
136        10010110
137        11100001
138        11000111
139        01111110
140        10100100
141        10011000
142        10011001
143        01111111
144        01100101
145        01011011
146        10101101
147        10011110
148        00101011
149        10011011
150        01000011
151        11100110
152        01111010
153        01011110
154        11100000
155        01011001
156        10111011
157        10010011
158        10110111
159        11000000
160        11001110
161        11111110
162        10101101
163        11010101
164        10001010
165        01100011
166        01010000
167        10011101
168        10110111
169        00101100
170        01010111
171        11101011
172        00110101
173        01110111
174        00001111
175        10111000
176        11101001
177        11011011
178        00111111
179        10101001
180        01000110
181        00010111
182        10100011
183        10001100
184        00111111
185        01010010
186        10111111
187        11011100
188        00000101
189        11010010
190        10101111
191        00010111
192        11110010
193        10101010
194        01110000
195        00100100
196        11101011
197        11001101
198        11011111
199        10101111
200        00111101
201        01001011
202        01010100
203        10111010
204        10011010
205        11011011
206        11100010
207        00110111
208        01101000
209        01101100
210        10101001
211        01011000
212        01010101
213        01111110
214        01111100
215        11110010
216        10111111
217        10110111
218        00011000
219        00111101
220        01110111
221        01111000
222        11010100
223        10010101
224        11001111
225        10011100
226        10011011
227        11000010
228        11101000
229        11011101
230        00101111
231        11100100
232        00101010
233        00111001
234        01110011
235        01110101
236        11111001
237        10100111
238        10110111
239        01101011
240        00010101
241        01001011
242        11111011
243        01100110
244        10011100
245        11110111
246        11011110
247        01111011
248        10100111
249        00100101
250        01101001
251        00100100
252        11001000
253        11001110
254        11110001
255        11110010
256        00110011
257        01001110
258        11000111
259        11110011
260        11101001
261        10111011
262        01000011
263        10101101
264        01001100
265        11011111
266        11011100
267        01111101
268        11010101
269        10100010
270        10101011
271        11101110
272        00110110
273        11110100
274        10001011
275        11010011
276        00001110
277        01110111
278        11011001
279        01100111
280        11110000
281        11001110
282        01111111
283        10111010
284        01100011
285        11011010
286        11100101
287        11000110
288        01111001
289        00110001
290        01010110
291        00101010
292        11110011
293        11001100
294        10100101
295        10001111
296        01011111
297        11010010
298        10111000
299        11111100
300        00011101
301        10010101
302        01111110
303        11010111
304        01001110
305        00111010
306        01110001
307        10101100
308        11101111
309        00011011
310        10110011
311        00010111
312        10101110
313        01011000
314        10000111
315        10001001
316        10101110
317        10111001
318        00111111
319        11101110
320        11010000
321        11010110
322        11100101
323        01111100
324        11010001
325        11100110
326        00111010
327        01110001
328        10100110
329        11001110
330        01111000
331        10110111
332        01011111
333        11100111
334        11100111
335        10100101
336        10010010
337        11111000
338        10110001
339        00111011
340        10111011
341        11001001
342        00011101
343        10011010
344        10001011
345        01110111
346        10110111
347        11100011
348        11000011
349        01101100
350        11011100
351        11111101
352        01111101
353        00101011
354        00110110
355        01001111
356        00111100
357        11010001
358        11011110
359        10110101
360        11111110
361        01101000
362        01111000
363        11010111
364        11100101
365        01111001
366        01011011
367        11101111
368        01100100
369        11001011
370        11000110
371        11110100
372        10001111
373        01111011
374        11110010
375        00111001
376        01110110
377        00110111
378        10011101
379        11011001
380        10111011
381        01001111
382        00111000
383        01011101
384        01111100
385        11111101
386        01001111
387        00111011
388        11101111
389        00110100
390        11100110
391        11011111
392        11100001
393        10101010
394        00010111
395        11001111
396        01101001
397        11001000
398        11010100
399        10101111
400        00111111
401        00010111
402        10011111
403        00100001
404        11111001
405        00011111
406        11101010
407        11101100
408        10011001
409        00110110
410        11111001
411        11001111
412        11000110
413        10110010
414        11001110
415        01111001
416        00101010
417        01101100
418        01011101
419        01010110
420        10010111
421        00101001
422        10111101
423        01011010
424        11110011
425        01011110
426        10110101
427        10010110
428        11011111
429        11110001
430        00100011
431        10111001
432        01010011
433        10000111
434        11001001
435        11011111
436        11010001
437        10101111
438        00110010
439        01001111
440        11100101
441        10110101
442        01111110
443        01110011
444        00100111
445        11101110
446        11100110
447        00111110
448        10101001
449        01101101
450        11011011
451        01111011
452        01101110
453        01111001
454        01011101
455        11110100
456        00001100
457        10010111
458        10100011
459        10110101
460        01111100
461        10111101
462        11000011
463        10001010
464        10011111
465        11001111
466        11100100
467        11110011
468        10101110
469        10001111
470        01111111
471        11010001
472        11001111
473        01101110
474        11111000
475        11111110
476        11011011
477        10001110
478        01111101
479        11100110
480        00110010
481        01100110
482        11110101
483        11011101
484        11001000
485        00011111
486        10011111
487        10100001
488        11001101
489        11011101
490        11001010
491        00101001
492        00110011
493        01111010
494        00111010
495        11100101
496        00101111
497        11010101
498        00101101
499        11011111
500        11001110
501        11111010
502        11001010
503        10101110
504        10100101
505        10111011
506        01010111
507        01101010
508        11110000
509        01100101
510        01010100
511        11110100
512        11001010
513        10111011
514        01110010
515        10101011
516        11001110
517        11101110
518        10110101
519        10011110
520        01110101
521        10000110
522        00110011
523        11111111
524        00000101
525        10101011
526        00101001
527        01011111
528        11110111
529        00100110
530        01010011
531        01111101
532        10011110
533        10101111
534        11011111
535        00000011
536        00101010
537        11101100
538        11111111
539        11000011
540        11101000
541        11110011
542        01011111
543        10111101
544        11010101
545        10010110
546        11111110
547        00101011
548        00011111
549        00101011
550        11110101
551        11101010
552        01011111
553        11001101
554        10011100
555        00111011
556        10010011
557        11110110
558        01110011
559        11101111
560        10111000
561        11011111
562        10110001
563        10011110
564        00101011
565        11011100
566        01011110
567        10100010
568        01011111
569        01111001
570        01101011
571        01111101
572        01111000
573        11000111
574        10110111
575        01111111
576        10010111
577        00101010
578        10110111
579        01000010
580        11100110
581        11010111
582        00101000
583        01110101
584        11110110
585        11110000
586        11100101
587        11001111
588        11100101
589        10011111
590        01011101
591        01100110
592        11111000
593        11101111
594        01100110
595        11011110
596        10111000
597        10010101
598        11100110
599        00100111
600        11011111
601        10000100
602        11101101
603        01111100
604        00011001
605        11110110
606        10110110
607        01010011
608        10001101
609        11100110
610        00011101
611        10111011
612        00110111
613        00111011
614        01010010
615        00111110
616        11011011
617        00011100
618        11011111
619        11001011
620        11101111
621        01111110
622        10110110
623        10111001
624        10111001
625        01111011
626        01001011
627        11111101
628        11110101
629        11111101
630        10000111
631        11101101
632        11010111
633        10110011
634        10101110
635        11110000
636        01111111
637        10111100
638        11101011
639        10011111
640        00010110
641        01110101
642        01011101
643        10110101
644        11011111
645        11111000
646        00111011
647        00000010
648        01101000
649        01010110
650        01111110
651        10011001
652        10101011
653        01010111
654        11111111
655        10111110
656        01100101
657        01101101
658        10010011
659        01111010
660        11010111
661        10011010
662        01111100
663        11111001
664        01101101
665        10011001
666        10001110
667        10010111
668        00111010
669        11110110
670        01001001
671        11000110
672        11001011
673        10111101
674        10011101
675        10110111
676        01101111
677        11001010
678        01000101
679        11110001
680        00111110
681        10011111
682        11100011
683        11100110
684        11011000
685        11011111
686        11010110
687        11101100
688        11111011
689        10111011
690        01100110
691        11000001
692        10011101
693        11100111
694        11111101
695        01111001
696        01100011
697        10110101
698        01110011
699        10011110
700        10000010
701        11111100
702        01111101
703        10101110
704        11110001
705        01010101
706        00011110
707        10101111
708        01111101
709        01011111
710        11000011
711        10101111
712        11100010
713        00101101
714        11011111
715        11101110
716        00010011
717        00010111
718        11100001
719        01100100
720        10001111
721        11100110
722        11011011
723        10111011
724        01100110
725        01101011
726        01110011
727        00111100
728        10110010
729        10111011
730        10111101
731        01011110
732        11101110
733        01011011
734        00100110
735        11001001
736        10011100
737        11010011
738        01000110
739        11110011
740        11111101
741        11101101
742        10000010
743        11001111
744        11111001
745        11100110
746        10101101
747        11111010
748        01011101
749        10011110
750        10111110
751        10010111
752        00011111
753        11111000
754        11100010
755        11110101
756        10100101
757        00101100
758        10111101
759        01001111
760        00101111
761        11111000
762        10101111
763        10101110
764        11101011
765        10011011
766        11011010
767        00100100
768        11000010
769        10101101
770        11101110
771        11011101
772        01011101
773        00010111
774        01111110
775        11110101
776        10001110
777        10101001
778        11101100
779        11111101
780        11101110
781        11101101
782        11011111
783        01110111
784        10100101
785        00001110
786        11010001
787        11000011
788        11111000
789        01100111
790        11110111
791        10001010
792        01011101
793        10111001
794        00011111
795        01110001
796        01010100
797        01110111
798        11101110
799        00111010
800        01110001
801        11010110
802        10101010
803        01000010
804        11001110
805        11110100
806        11101011
807        11010101
808        00111111
809        10111111
810        11101101
811        01111101
812        10010110
813        11101000
814        11110011
815        11110010
816        11110101
817        01101011
818        00111110
819        11111011
820        10111010
821        11111101
822        10101010
823        01110111
824        11011101
825        11001110
826        11010101
827        10111110
828        00110111
829        01110111
830        01100011
831        11011011
832        00100101
833        11111011
834        10001111
835        01111011
836        01101110
837        00101111
838        01011000
839        11010111
840        11110101
841        01001010
842        11111111
843        10000110
844        11110001
845        01101011
846        10111100
847        11011101
848        01001000
849        11111111
850        11111011
851        00111110
852        11100001
853        10010110
854        11010011
855        01101001
856        11011011
857        01111010
858        01110010
859        11111000
860        11110111
861        10100111
862        01011101
863        11011001
864        10010010
865        11110110
866        11100011
867        00110110
868        11011111
869        11011101
870        00010111
871        10111010
872        10101001
873        11010111
874        01101100
875        10001111
876        11001101
877        00111101
878        01101110
879        11101001
880        01101010
881        01110101
882        11110101
883        00111011
884        11110111
885        00111011
886        10101111
887        11101010
888        01111101
889        10001000
890        10001000
891        01111101
892        11101011
893        10111010
894        11010101
895        10011100
896        10011011
897        10101111
898        00010111
899        10101011
900        10101110
901        11011100
902        01001110
903        11000111
904        01111011
905        11111101
906        10101110
907        11111100
908        11010110
909        00011101
910        11111101
911        01111110
912        01111111
913        01100111
914        00101101
915        01111100
916        01111101
917        11100100
918        10111111
919        10011111
920        10101110
921        11101011
922        11011100
923        00111111
924        11000000
925        11001001
926        10010001
927        01001111
928        00111111
929        11011010
930        11100111
931        10001010
932        01111011
933        00111101
934        00111110
935        01110110
936        01100100
937        11011111
938        10111011
939        10011110
940        10110101
941        11111111
942        11100001
943        01100101
944        11111100
945        11111111
946        01011000
947        11110001
948        01111011
949        01111001
950        11001111
951        00100101
952        10010110
953        01001100
954        00111001
955        00010111
956        01101010
957        11010111
958        10010110
959        11110011
960        01001111
961        01011101
962        00110111
963        10110110
964        01011101
965        10111101
966        11111101
967        00001011
968        11110011
969        01111110
970        11111000
971        01101011
972        01010110
973        10100110
974        10111010
975        11110111
976        01101010
977        11101001
978        01111011
979        11000100
980        10111001
981        01011011
982        11011011
983        10111111
984        00101111
985        11100010
986        01110110
987        11110010
988        11111000
989        11011111
990        11101011
991        10111000
992        11111101
993        11011101
994        11001110
995        11001000
996        11111111
997        00101111
998        01110111
999        11010111
1000        10011101

各位看官——上面是按照吴代业一再吹嘘的“新型质数表”编制方法编制的7--30031之间的质数表,从这8008个0+1,你能得到什么?       
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-9-1 17:31 | 显示全部楼层
本帖最后由 重生888@ 于 2026-9-1 17:33 编辑
yangchuanju 发表于 2026-9-1 14:40
30031以内吴代业新型质数表       
0        00000000
1        00001000


您把30n+7类一顺一倒配对,看看能得到什么!(前提是保证质数(0)和合数(1)不出错),不但能查到偶数30014的确切素数对个数(第一种组合,且对称重复),而且能查到其他30n+14偶数的素数对的确切对数!
如果,用30n+31(顺)+30n+13(倒)即上下对齐,是30n+14的第二种组合,把两种组合素数对相加,就得到偶数30014的全部确切素数对个数!
回复 支持 反对

使用道具 举报

发表于 2026-9-1 21:06 | 显示全部楼层
本帖最后由 yangchuanju 于 2026-9-1 21:09 编辑
重生888@ 发表于 2026-9-1 17:31
您把30n+7类一顺一倒配对,看看能得到什么!(前提是保证质数(0)和合数(1)不出错),不但能查到偶 ...


您把30n+7类一顺一倒配对,……不但能查到偶数30014的确切素数对个数(第一种组合,且对称重复),而且能查到其他30n+14偶数的素数对的确切对数!
不可能的事,只能查到30014素数对的一部分!

如果,用30n+31(顺)+30n+13(倒)即上下对齐,是30n+14的第二种组合,把两种组合素数对相加,就得到偶数30014的全部确切素数对个数!
不能直接相加,若求双计素数对则是(7+倒7)+(11+倒31)*2,若求单计素数对则是(7+倒7)÷2+(11+倒31);
请注意,涉31的数据要先行错一个数,且还有一个小素数对3+30011,不要漏掉吆!


要求其它偶数如29984,两组数据各错1个数;偶数29954,两组数据各错2个数;……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2026-9-18 11:38 , Processed in 0.112291 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表