מחולל מספרים ראשוניים אונליין

הגדרות קבועות מהירות:
מפריד בעת העתקה

מהו מספר ראשוני?

מספר ראשוני הוא מספר טבעי גדול מ-1 שמתחלק רק ב-1 ובעצמו. המספרים הראשוניים הקטנים ביותר הם 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… המספר 2 הוא המספר הראשוני הזוגי היחיד – כל שאר המספרים הזוגיים מתחלקים בשניים.

מספרים כמו 4 (= 2 × 2), 6 (= 2 × 3) או 15 (= 3 × 5) אינם מספרים ראשוניים – אנו קוראים להם מספרים פריקים (או מורכבים).

איך המחולל עובד?

כדי להציג את כל המספרים הראשוניים בטווח נתון, אנו משתמשים בנפת ארטוסתנס – אחד האלגוריתמים הוותיקים והיעילים ביותר, שתואר על ידי המתמטיקאי היווני ארטוסתנס מקירנה בסביבות שנת 240 לפני הספירה.

האלגוריתם מוחק בהדרגה את הכפולות של כל מספר ראשוני שנמצא. מה שנותר הם המספרים הראשוניים. כל החישוב מתבצע ישירות בדפדפן שלך – ללא שליחת נתונים לשרת.

לבחירה אקראית, המחולל בונה תחילה רשימה של כל המספרים הראשוניים בטווח, ולאחר מכן בוחר מתוכה באופן אקראי את הכמות הרצויה באמצעות מחולל בטוח מבחינה קריפטוגרפית (crypto.getRandomValues()).

תכונות המחולל

  • כל המספרים הראשוניים – מציג כל מספר ראשוני בטווח הנתון (מקסימום 10,000)
  • בחירה אקראית – בוחר N מספרים ראשוניים אקראיים מהטווח (מתאים לטווחים גדולים)
  • מיון – ממיין את התוצאות בסדר עולה
  • מפריד – בחר כיצד המספרים יופרדו בעת ההעתקה
  • הגדרות קבועות מהירות – טווחים נפוצים בלחיצה אחת

היכן משתמשים במספרים ראשוניים?

קריפטוגרפיה ואבטחה

מספרים ראשוניים הם אבן היסוד של הקריפטוגרפיה המודרנית. אלגוריתמים כמו RSA פועלים על העיקרון שקל לחשב את מכפלתם של שני מספרים ראשוניים גדולים, אך פירוקם לגורמים ראשוניים לאחור הוא קשה חישובית.

  • הצפנת RSA – מפתחות נוצרים משני מספרים ראשוניים גדולים
  • דיפי-הלמן (Diffie-Hellman) – החלפת מפתחות מעל מודולו ראשוני
  • פונקציות גיבוב (Hash) – מספרים ראשוניים כקבועים קסומים (SHA, MD5)

מתמטיקה ומדע

  • תורת המספרים – אבני הבניין הבסיסיות של המספרים השלמים
  • השערת גולדבך – כל מספר זוגי > 2 ניתן לביטוי כסכום של שני מספרים ראשוניים (טרם הוכחה)
  • השערת רימן – אחת מבעיות הילברט, נוגעת להתפלגות המספרים הראשוניים

שימושים מעשיים

  • טבלאות גיבוב (Hash Tables) – גודל טבלה כמספר ראשוני מפחית התנגשויות
  • מחוללי מספרים פסאודו-אקראיים – קונגרואנציה לינארית עם מודולו ראשוני
  • מוזיקה וקצב – פוליריתמיקה עם אורכי מחזור ראשוניים

התפלגות המספרים הראשוניים

מספרים ראשוניים מפוזרים באופן לא סדיר בין המספרים הטבעיים, אך צפיפותם יורדת ככל שהטווח גדל. עובדה זו מתוארת על ידי משפט המספרים הראשוניים: מספר המספרים הראשוניים עד N הוא בקירוב N / ln(N).

טווחכמות מספרים ראשוניים
1–104
1–10025
1–1,000168
1–10,0001,229
1–100,0009,592
1–1,000,00078,498

נפת ארטוסתנס צעד אחר צעד

טווח 2–30:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

1. בחר 2, מחק כפולות: 4, 6, 8, 10, 12...
2. בחר 3, מחק כפולות: 9, 15, 21, 27...
3. בחר 5, מחק כפולות: 25...
4. √30 ≈ 5.5 → הסתיים

מספרים ראשוניים: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29

נפת ארטוסתנס בקוד

JavaScript

function sieve(to) {
  const composite = new Uint8Array(to + 1);
  const primes = [];
  for (let p = 2; p <= to; p++) {
    if (composite[p]) continue;
    primes.push(p);
    for (let j = p * p; j <= to; j += p) composite[j] = 1;
  }
  return primes;
}

Python

def sieve(n):
    composite = bytearray(n + 1)
    primes = []
    for p in range(2, n + 1):
        if not composite[p]:
            primes.append(p)
            for j in range(p * p, n + 1, p):
                composite[j] = 1
    return primes

שאלות נפוצות (FAQ)

האם 1 הוא מספר ראשוני? לא. המספר 1 אינו נחשב באופן מסורתי למספר ראשוני. הסיבה היא מתמטית – אם היינו רואים ב-1 מספר ראשוני, משפט הפירוק היחיד לגורמים ראשוניים היה מאבד מתוקפו.
האם 2 הוא מספר ראשוני? כן. המספר 2 הוא המספר הראשוני הקטן ביותר והיחיד שהוא זוגי. כל שאר המספרים הזוגיים מתחלקים בשניים, ולכן הם מספרים פריקים.
כמה מספרים ראשוניים קיימים? אינסוף. אוקלידס הוכיח זאת בסביבות שנת 300 לפני הספירה בהוכחה אלגנטית בדרך השלילה: נניח שיש מספר סופי של מספרים ראשוניים. אז המכפלה שלהם + 1 אינה יכולה להתחלק באף אחד מהם – כלומר, זהו מספר ראשוני חדש, סתירה.
מהם מספרים ראשוניים תאומים? מספרים ראשוניים תאומים הם זוגות של מספרים ראשוניים הנבדלים ב-2, למשל (3, 5), (11, 13), (17, 19), (41, 43). השאלה האם קיימים אינסוף כאלה היא עדיין שאלה בלתי פתורה במתמטיקה (השערת המספרים הראשוניים התאומים).
כמה מהר האלגוריתם עובד? לנפת ארטוסתנס יש סיבוכיות זמן של O(n log log n). עבור טווח של עד 10 מיליון, החישוב בדפדפן מתבצע בדרך כלל תוך פחות מ-100 מילישניות.