והפעם חידה מאת החידונאי האנגלי הנרי דודני (ראו קישורים בצד שמאל לחידות קודמות שלו).

מספר "דודני" (Dudeney)  הוא מספר שסכום הספרות של החזקה השלישית שלו שווה למספר עצמו.
לדוגמה: 512=8*8*8 וגם 8=5+1+2.

מצאו מספרי דודני!

חיפוש נעים!

סקובידו



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

29 תגובות

  • אפרים

    תשובה

    17 אם אף אחד לא כתב את זה לפניי

  • עטרה

    מצאו בסיס

    מצאו בסיס, שאין בו מעגלים של מספרי דודני, ושיש בו רק 4 מספרי דודני, ששלושה מהם הם מספרים עוקבים.

  • רמי

    תשובה

    בסיסים שאין בהם מעגלים של מספרי דודני, ושיש בהם רק 4 מספרי דודני, ששלושה מהם הם מספרים עוקבים (*):

    מספרי דודני בבסיס 20 : 1-, 0, 1, 37, 38, 39
    מספרי דודני בבסיס 28 : 1-, 0, 1, 53, 54, 55

    (*) בהנחה שמספרי דודני 1- ו 0 לא הוחשבו בחידה.

  • עטרה

    יפה

    (*) אם מחשיבים את 1-, אז צריכים להחשיב גם את 37-, כי מתקיים
    digits_sum (37 ^ 3) = - digits_sum ((-37) ^ 3)
    ולכן, אם 37 הוא מספר דודני, אז גם 37- הוא מספר דודני

  • רמי

    הגדרת סכום ספרות

    בהקשר לסכום ספרות מספר, התייחסתי למספר על ספרותיו כך שאם המספר שלילי, הספרה השמאלית ביותר היא שלילית ושאר הספרות חיוביות!! (*)
    ולכן בשיטתי, למשל המספר 5- בבסיס 12 הוא מספר דודני :
    (3 ^ (5-)) = A5-
    A + 5 = -5- ,
    ולכן 5-=(3^(5-))digit_sum בבסיס 12

    (*) כמובן שאפשר להגדיר סכום ספרות של מספר שלילי אחרת!!

  • עטרה

    הבנתי את השיטה שלך, אבל למה אתה צריך להגדיר ככה את סכום הספרות?

    בייצוג של מספרים שליליים במחשב, משתמשים בביט השמאלי עבור הצגת מספרים שליליים, אבל זה רק ענין טכני. אפשר לחשוב על כל קבוצה של 8 ביטים, בתור 7 ביטים שמייצגים מספר, וביט נוסף שמייצג את הסימן של המספר. כלומר, הביט השמאלי אינו ספרה שלילית, אלא רק ערך true/false.
    לכן, אם נציג כך גם מספר שלילי בבסיס 12, לא נקבל שהספרה השמאלית היא שלילית, אלא שכל הספרות הן חיוביות, ומשמאל יש ביט נוסף, שהוא מייצג את הסימן השלילי.

  • רמי

    סיבת ההגדרה

    פרוק מספר שלם לספרותיו מותיר את הסימן במבוכה.
    האם הוא ספרה? אולי הוא אמור לתת לסכום ערך אסקי שלו?
    האם הוא חלק מספרה? אולי שייך לספרה האחרונה או אולי לאחרת?
    האם הוא אמור להיות שייך לכל הספרות? אולי כל הספרות אמורות להיות שליליות? (הכל שלילי)
    האם בתהליך הספרות (הפיכה לספרות) הסימן נעלם ואין לו משמעות? (כמו בערך מוחלט)

    התשובה טמונה בדרישות ההרחבה שלנו.
    אילו תכונות של הפעולות עם המספרים החיוביים נרצה לשמור, ואילו לא.
    נגדיר פונקציה sd() שלוקחת מספר ונותנת את סכום ספרותיו.
    א) אם נרצה לשמור את התכונה Sd(25)=sd(52)=sd(502)=…
    כלומר שיתקיים גם Sd(-25)=sd(-52)=sd(-502)=… . במקרה זה לא נוכל להשתמש בהגדרה שלי, ובהגדרת "הכל שלילי" תשמר התכונה.
    ב) אם נרצה לשמור את התכונה הבאה:
    Sd(a1 a2 a3… a(n+m)) = Sd(a(n+1) a(n+2) a n+3)… a(n+m))+Sd(a1 a2 a3 … an)
    לדוגמא : Sd(-25428)=sd(-25)+ sd(428)
    אזי ההגדרה שלי מתאימה יותר ,והגדרה בשיטת הכל שלילי לא תעבוד.

  • עטרה

    שתי התכונות נשמרות בהגדרה בשיטת הכל שלילי

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

  • רמי

    הגדרה שניה לא טובה עבור הכל שלילי

    אם נשתמש בהכל שלילי :
    מצד אחד Sd(-25428)=-21
    מצד שני sd(-25)+ sd(428)=-7+14=7
    ואין שיוויון.
    אם רק הספרה השמאלית קשורה לסימן :
    מצד אחד Sd(-25428)=17
    מצד שני sd(-25)+ sd(428)=3+14=17
    וכאן יש שיוויון.

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

  • עטרה

    שתי התכונות *כן* נשמרות בהגדרה בשיטת הכל שלילי

    לפי ההגדרה שלי, המספר 25428- מוצג במחשב כך שכל ספרה היא שלילית, כאילו כתוב
    8-,2-,4-,5-,2-.
    באופן כזה, מתקיים
    = ("sd("-25") + sd("-428
    = (sd(-2,-5) + sd(-4,-2,-8
    = (sd(-2,-5,-4,-2,-8
    ("sd("-25428
    ההגדרה הזאת היא גם יותר טבעית, כי כך לא מתייחסים אל הסימן כמו עוד ספרה או תו שמופיע דווקא לפני שאר הספרות, אלא מתייחסים אל הסימן בתור תכונה של המספר כולו.
    גם הרבה יותר נוח לחשב ככה מהן הספרות של המספר, כשהוא מוצג לפי הבסיס הנתון.
    איך מוגדרת אצלך הפונקציה sd?

  • רמי

    הגדרה לפני מימוש

    לפני מימוש תכונה אני מגדיר אותה.
    היות והגדרתי שהחיתוך של מספר הוא כמו שחותכים מחרוזת, והמינוס נשאר בצד שמאל, אזי במימוש אצטרך לוודא שהתוכנה תדע לחתוך את המספר כנדרש.
    לאחר ההגדרה אפשר לממש בצורות שונות:
    - ע"י פיזור חלקי המספר למערך. המינוס ישב בתא 0 ויקושר לתאים הראשונים בלבד.
    - אפשר להתייחס לסימן לחוד ולמספר החיובי לחוד ולצרף את הסימן לחתיכה השמאלית לאחר חיתוך המספר.
    - אפשר להפוך המספר למחרוזת, לחתוך המחרוזת, ואח"כ לתרגם חזרה למספרים.
    - ועוד ...

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

  • עטרה

    ברור שניתן להגדיר את סכום הספרות של מספר שלילי בדרכים שונות

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

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

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

    בכל מקרה, ציירתי באקסל את הגרפים של פונקציית סכום הספרות עבור 3 ההגדרות הבאות:
    ההגדרה שלך:
    לכל אינדקס i, אם i קטן מ
    INT(LOG(ABS(n)/LOG(10,
    אז הספרה ה-i היא
    MOD(INT(ABS(n)/10^i),10
    ועבור האינדקס i=INT(LOG(ABS(n)/LOG(10,
    הספרה ה-i היא
    SIGN(n) * MOD(INT(ABS(n)/10^i),10
    ההגדרה שלי:
    לכל אינדקס i, הספרה ה-i היא
    SIGN(n) * MOD(INT(ABS(n)/10^i),10
    הגדרה חדשה:
    לכל אינדקס i, הספרה ה-i היא
    MOD(INT(n/10^i),10

    היתרון של ההגדרה שלך: אפשר להתייחס אל המספר כמו אל מחרוזת טקסט, כאשר סימן המינוס בצד שמאל, והפונקציה מוגדרת היטב עבור תת-מחרוזות של המספר. אבל לא הבנתי בשביל מה זה טוב.
    היתרון של ההגדרה שלי: ההצגה של הפונקציה במערכת צירים היא סימטרית סביב הראשית, ולכן הפונקציה יותר "טבעית". הגרף של הפונקציה מתנהג באופן אחיד לכל החיוביים ובאופן אחיד לכל השליליים. (חבל שאי אפשר לצרף כאן קובץ.)
    היתרון של ההגדרה השלישית: הגרף של הפונקציה מתנהג באופן אחיד לכל המספרים, גם במעבר מהמספרים החיוביים לשליליים. נראה לי שזאת ההגדרה הכי "טבעית".
    החיסרון של ההגדרה השלישית הוא שהיא אינה אינטואיטיבית. למשל:
    sd(-25428) = -3+4+5+7+2

  • עטרה

    מעגלים של מספרי דודני

    נגדיר מעגל מספרי דודני בבסיס R:
    סדרה סופית של מספרים, באורך כלשהו L, כך שלכל i, סכום הספרות של הייצוג בבסיס R של החזקה השלישית של המספר ה-i שווה למספר ה-i+1, ועבור i=L,
    סכום הספרות של הייצוג בבסיס R של החזקה השלישית של המספר ה-L שווה למספר הראשון.

    דוגמא למעגל מספרי דודני בבסיס 12:

    8 בחזקת 3 = 512
    ייצוג בבסיס 12 = 368
    סכום הספרות = 17

    17 בחזקת 3 = 4913
    ייצוג בבסיס 12 = 2A15
    סכום הספרות = 18

    18 בחזקת 3 = 5832
    ייצוג בבסיס 12 = 3460
    סכום הספרות = 13

    13 בחזקת 3 = 2197
    ייצוג בבסיס 12 = 1331
    סכום הספרות = 8

    מצאו מעגלים של מספרי דודני!

  • רמי

    מספר מעגלי מספרי דודני בבסיסים 14,17,18,19,21

    מעגל מספרי דודני בבסיס 14 :

    מעגלי מספרי דודני בבסיס 17 : , ,

    מעגל מספרי דודני בבסיס 18 :

    מעגל מספרי דודני בבסיס 19 :

    מעגלי מספרי דודני בבסיס 21 : , , ,

  • רמי

    מעגלי מספרי דודני בבסיסים 3 עד 9

    מעגל מספרי דודני בבסיס 3 :

    מעגל מספרי דודני בבסיס 5 :

    מעגל מספרי דודני בבסיס 6 :

    מעגל מספרי דודני בבסיס 7 :

    מעגל מספרי דודני בבסיס 8 :

    מעגלי מספרי דודני בבסיס 9 : , ,

  • רמי

    מספר מעגלי מספרי דודני בבסיסים שונים

    מעגל מספרי דודני בבסיס 13 :

    מעגל מספרי דודני בבסיס 12 :

    מעגלי מספרי דודני בבסיס 11 : , , ,

  • עטרה

    יפה

    אתה משתמש בתוכנה בשביל למצוא אותם?

  • רמי

    Excel

    בניתי בעזרת MS Excel טבלה המציגה מספר ומולו סכום הספרות של החזקה השלישית של מספר זה.
    הטבלה בנויה עם משתנים בסיס וחזקה.
    שינוי ערך הבסיס משנה את הטבלה לפי הבסיס הנדרש, שינוי ערך החזקה משנה את החזקה בה מעלים את המספר. (חזקה 3 עבור מספר דודני, חזקה 4 עבור דודני-4 (שהמצאתי), וכו..).
    מספרי דודני ידידים מובלטים ע"י התוכנה.
    חיפוש המעגלים נעשה בצורה ידנית.

  • עטרה

    עוד excel

    LARGE_NUMBER = 2 ^ 31
    r = 10 ' radix = בסיס
    e = 3
    max_n = 1000

    For n = 1 To max_n
    d = n
    chain_length = 0
    inside_cycle = False
    While ((Not inside_cycle) And (d ^ e For i = 0 To chain_length - 1
    If (d = Range("C4").Offset(n, i)) Then
    inside_cycle = True
    cycle_beginning = i + 1
    End If
    Next
    Range("C4").Offset(n, chain_length) = d
    d = sum_digits_of_exponent_of_number(r, e, d)
    chain_length = chain_length + 1
    Wend
    cycle_length = chain_length - cycle_beginning
    cycle_cells_colour = cycle_length + 2
    Range(Range("C4").Offset(n, cycle_beginning - 1), _
    Range("C4").Offset(n, chain_length - 1)) _
    .Interior.ColorIndex = cycle_cells_colour
    Next

  • סקובידו

  • עטרה

    תודה!

    זה אתר נחמד. לא הכרתי אותו עד עכשיו. האם רוב הגולשים הם תלמידים בבית ספר או באוניברסיטה?

  • עטרה

    מספרי דודני בבסיס הקסאדצימלי

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

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

    דוגמא למספר דודני בבסיס הקסאדצימלי: 39
    39^3 = 59319
    ייצוג של 39 בחזקת 3 בבסיס הקסאדצימלי = E7B7
    סכום הספרות = E+7+B+7 = 39

    מצאו מספרי דודני בבסיס הקסאדצימלי!

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

    דוגמא לזוג מספרי דודני ידידים בבסיס הקסאדצימלי:
    ייצוג של 9 בחזקת 3 בבסיס הקסאדצימלי = 2D9
    סכום הספרות = 24
    ייצוג של 24 בחזקת 3 בבסיס הקסאדצימלי = 3600
    סכום הספרות = 9

    מצאו מספרי דודני ידידים בבסיס הקסאדצימלי!

  • רמי

    זוג מספרי דודני ידידים בבסיס הקסאדצימלי

    , , ,

  • רמי

    מספרי דודני בבסיס הקסאדצימלי

    מספרי דודני בבסיס הקסאדצימלי :

    0, 1, 4, 11, 20, 21, 25, 26, 29, 30, 31, 34, 35, 39

  • רמי

    מספרי דודני-4

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

    דוגמא למספר דודני-4 : 28
    4^28=614656
    6+1+4+6+5+6=28

    מצאו מספרי דודני-4 !

  • עדי

    מספר דודני

    18 הוא מספר דודני

  • רמי

    חידה על מספרי דודני ידידים

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

  • רמי

    מספרי דודני

    מספרי דודני בסיסיים : 1-, 0, 1
    מספר דודני הגדול ביותר : 27

    (*) יש עוד מספרי דודני בין 1 ל 27

  • סקובידו

    נכון...

    נכון, בנוסף לבסיסיים (-1,0,1), 8 (בדוגמה), 18 (לפי התשובה של עדי) ו- 27 (הגדול ביותר) ישנם עוד...