תמונת שער.jpg


תמונת מקור - Leonardo AI

נכון, ישנם אנשים כאלו שמספרים וחישובים זה לא ממש (בלשון המעטה…) התחביב האהוב עליהם…

אך תתפלאו לשמוע, ישנם מספרים שיש בהם סבירות גבוהה שיכולים לגרום לעוסקים בהם לאושר ושמחה…

כן, כך זה לפחות על פי המתמטיקאי ההודי דאטארייה רמאצ'אנדרה קפרקר.

קבוצת מספרים זו נקראת "מספרי הרשאד". (Harshad numbers)

ד"ר קפרקר (בשמו המקוצר…) היה מורה בבית הספר אך גם אהב לחקור ולהתבונן בתכונות שונות של מספרים.

הוא גילה כמה תגליות מעניינות בתורת המספרים וזו רק אחת מהן.

מהי הגדרתו של מספר הרשאד?

התשובה בקצרה היא - כל מספר שלם טבעי המתחלק בסכום ספרותיו.

אזכיר כי הגדרת "מתחלק" הכוונה היא - ללא "שארית" כלל, כלומר שארית 0.

אתן דוגמא:

המספר 1729

בשלב 1 - נחבר את סכום ספרותיו:

19 = 1+7+2+9

בשלב 2 - נבצע פעולת חילוק של המספר (המונה) בסכום ספרותיו (המכנה).

91 = 1729/19

התוצאה היא ללא שארית, 91 בדיוק.

ולכן מספר 1729 הוא אכן מספר הרשאד.

(באגב, הסיבה לבחירת הדוגמא על ידי מספר 1729 היא - כי מספר זה הוא גם המספר הגדול שמתחלק בסכום ספרותיו בהיפוך כלומר 91
19 = 1729/91)

כל המספרים החד ספרתיים (כולל המספר 10) הם מספרי הרשאד, זה כל כך טְרִיוְויָאלִי ואין כאן שום חידוש…

החלק המעניין בכל הסיפור מתחיל במספרים הדו ספרתיים ומעלה.


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

harsa (joy) + da (give)

כעת, בואו נראה איך כל הנ"ל קשור לאקסל ולעולמן של הפונקציות…

ובכן, אם נרצה (מכל סיבה שהיא…) לערוך בדיקה באקסל/גוגל שיטס עבור מספר מסוים - האם הוא מספר הרשאד או לא?

האם זה אפשרי?

אתם יודעים כבר את התשובה - בוודאי שכן!

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

תמונה גיליון נספח.png


שלב 1:

יש להזין בתא A2 באופן ידני את הערך המספרי לבדיקה.
בגיליון המצורף הבדיקה מבוצעת עבור המספר 1729 (כדוגמה).

שלב 2:

זהו מבנה הפונקציה בתא B2:

קוד:
=LEN(A2)

פונקציית len סופרת את מספר התווים בתא שהוזן בארגומנט.

התוצאה היא 4 כי המספר 1729 מכיל 4 תווים.

שלב 3:

זהו מבנה הפונקציה בתא C2:

קוד:
=SEQUENCE(B2)

במאמר כאן הסברתי אודותיה של פונקציית sequence הנפלאה.

במקרה כאן, הפונקציה יוצרת סדרת מספרים כמערך תאים אנכי, הסדרה מתחילה ב 1 ומכילה 4 ספרות כלומר 1.2.3.4.

כזכור, ההחזר בשלב 2 הוא 4…

למה זה חשוב וכל כך נחוץ? אתם בטח שואלים את עצמכם…

את התשובה לכך תגלו בהמשך, כלומר בשלב 4.


שלב 4:

זהו מבנה הפונקציה בתא D2:

קוד:
=ARRAYFORMULA(MID(A2,C2:C5,1))

במאמר כאן הסברתי אודותיה של פונקציית mid הנפלאה.

המטרה בשלב זה היא "לפרק" את המספר שהוזן לבדיקה ולפצלו בתאים נפרדים.

אנו אומרים לפונקציה בארגומנט הראשון לשלוף תו מהערך שהוזן בתא A2,

בארגומנט השלישי אנו מגדירים שמספר התווים לשליפה הוא 1.

בארגומנט השני אנו מגדירים את המיקום (מתחילת המחרוזת - במספרים מדובר משמאל לימין) שממנו יש להתחיל בכל פעם בפעולת "השליפה".

המיקום נכתב בפונקציה כהפניה לערכים שהוחזרו משלב 3 על ידי פונקציית sequence.

ניתן לדמיין זאת "כאילו" פונקציית mid הוכפלה 4 פעמים ובכל פונקציה כתוב מספר שונה (1/2/3/4) בארגומנט השני…

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


כנגד תו 1 מתחילת המחרוזת - הפונקציה שולפת את הספרה 1.

כנגד תו 2 מתחילת המחרוזת - הפונקציה שולפת את הספרה 7.

כנגד תו 3 מתחילת המחרוזת - הפונקציה שולפת את הספרה 2.

כנגד תו 4 מתחילת המחרוזת - הפונקציה שולפת את הספרה 9.

זה פשוט נפלא וגאוני!

מה הרווחנו פה בשלב זה?

שכעת המספר 1729 מפורק ב 4 תאים שונים וכעת ניתן לסכום את "סכום הספרות" באמצעות פונקציית sumproduct.


הערה קטנה:
הואיל ומדובר כאן על החזר מערך על ידי פונקציית mid יש צורך לעטוף (בגוגל שיטס) את הפונקציה בפונקציית arrayformula.

שלב 5:

זהו מבנה הפונקציה בתא E2:

קוד:
=SUMPRODUCT(D2:D5)

במאמר כאן הסברתי אודותיה של פונקציית sumproduct הגאונית.

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

ההחזר הוא 19.

נכון מאוד!

שהרי 19 = 1+7+2+9

שלב 6:

זהו מבנה הפונקציה בתא F2:

קוד:
=MOD(A2,E2)=0

זוכרים את ההגדרה למספר "הרשאד"?

כל מספר שלם טבעי המתחלק בסכום ספרותיו.

אז את סכום הספרות אנו יודעים כבר לאחר שלב 5.

מה נותר לנו? רק לבצע חלוקה של המספר שהוזן בסכום הספרות שהתקבל ולבדוק שאכן התוצאה היא ללא שארית כלל…

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

ואנו מגדירים תנאי של 0=

כיוון שיש כאן תנאי - הפונקציה מחזירה ערכים של true או false בלבד!

כלומר אמת/נכון או שקר/לא נכון.

91 = 1729/19

91 בדיוק - לא פחות ולא יותר, אין כאן שום שארית!

אכן מספר זה (1729) הוא מספר הרשאד!


ולסיום, הנה הדובדבן שבקצפת…

מצורף לפניכם צילום מסך נוסף מתוך הגיליון המצורף בלינק להלן.

תמונה גיליון ראשי.png


גם כאן יש להזין בתא A2 מספר לבדיקה האם הוא אכן מספר הרשאד או לא.

ואז…ההחזר הסופי של true או false מתקבל בתא B2.

כל השלבים הנ"ל מקופלים זה בתוך זה בנוסחה אחת ארוכה…

רוצים לראות הקסם הזה?

הנה, בבקשה!

קוד:
=IF(MOD(A2,SUMPRODUCT(MID(A2,SEQUENCE(LEN(A2)),1)))=0,TRUE,FALSE)

וואו…

ועד כאן לאקסל ולעולמן של הפונקציות.

מקווה שנהנתם…

לינק לגיליון שיטס הכולל בדיקה האם מספר X הוא מספר הרשאד או לא - מצורף כאן.