בודק מספר ראשוני ב- Excel VBA - פקודות מאקרו קלות של Excel

תוכן העניינים

להלן נבחן תוכנית ב Excel VBA זֶה בדיקות האם מספר הוא א מספר ראשוני או שלא.

לפני שתתחיל: במתמטיקה, מספר ראשוני הוא מספר שיש לו בדיוק שני מחלקים מספרים מובחנים: 1 ואת עצמו. המספרים הראשוניים הקטנים ביותר הם: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 ו- 97. לדוגמה, ל- 8 יש 1, 2, 4 ו -8 כמחלקים ואינו מספר ראשוני.

מַצָב:

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

מחלקים עמומים כמספר שלם, מספר As Long, i As Long

2. אנו מאתחלים שני משתנים. אנו מאתחלים את מחלקי המשתנה עם ערך 0. אנו משתמשים בפונקציה InputBox כדי לקבל מספר מהמשתמש.

מחלקים = ​​0
number = InputBox ("הזן מספר")

לאחר שהמשתמש הכניס מספר, אנו רוצים לבדוק האם מספר זה הוא מספר ראשוני או לא. זכור, למספר ראשוני יש בדיוק שני מחלקים מספרים מובחנים: 1 ואת עצמו.

3. אנו מתחילים לולאה For Next.

עבור i = 1 למספר

4. כעת מגיע החלק החשוב ביותר בתוכנית. כדי לחשב את מספר מחלקי המספר, אנו משתמשים באופרטור Mod. אופרטור Mod נותן את שארית החלוקה. לדוגמה, 7 mod 2 = 1 כי 7 מחולק ב 2 שווה ל- 3 עם שארית 1. רק אם 'מספר mod i' = 0, i הוא מחלק מספר. במקרה זה אנו רוצים להגדיל את מחלקי המשתנים ב -1. המאקרו שלהלן עושה את העבודה.

אם המספר Mod i = 0 אז
מחלקים = ​​מחלקים + 1
סוף אם

Excel VBA בודק זאת עבור i = 1, i = 2, i = 3, i = 4 עד i = מספר. שים לב כי i = 1 ו- i = מספר הם תמיד מחלקים של מספר. רק אם מספרים אלה הם מחלקי המספר היחידים, המספר הוא מספר ראשוני.

5. אל תשכח לסגור את הלולאה.

הבא i

6. אם מחלקים שווים ל -2, אנו מציגים תיבת הודעה המציינת כי המספר שהוזן הוא מספר ראשוני. אם מספר המחלקים גבוה מ -2, אנו מציגים תיבת הודעה המציינת כי המספר שהוזן אינו מספר ראשוני.

אם מחלקים = ​​2 אז
מספר MsgBox & "הוא מספר ראשוני"
אַחֵר
מספר MsgBox & "אינו מספר ראשוני"
סוף אם

7. בדוק את התוכנית.

תוצאה עבור 104729:

תוכל לעזור בפיתוח האתר, שיתוף הדף עם החברים שלך

wave wave wave wave wave