ABA


"ועוד חידונת..."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #7844 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 7844
qsignal

דרג אמינות חבר זה
   18:38   27.01.04   
אל הפורום  
  ועוד חידונת...  
 
  
מצא מספר בן 10 ספרות, העונה לדרישה הבאה:
הספרה הראשונה בו (השמאלית ביותר) היא גם מספר האפסים בו
הספרה השנייה בו היא גם מספר ה"1" בו
הספרה השלישית בו היא גם מספר ה"2" בו
הספרה הרביעית בו היא גם מספר ה"3" בו
הספרה החמישית בו היא גם מספר ה"4" בו
הספרה השישית בו היא גם מספר ה"5" בו
הספרה השביעית בו היא גם מספר ה"6" בו
הספרה השמינית בו היא גם מספר ה"7" בו
הספרה התשיעית בו היא גם מספר ה"8" בו
הספרה העשירית בו היא גם מספר ה"9" בו

הנה דוגמא, רק לשם המחשה:
2020
הספרה הראשונה (משמאל!) - "2" אמורה להיות מספר הפעמים ש"0" מופיע (ואכן יש 2 אפסים במספר)
הספרה השנייה - "0" אמורה להיות מספר הפעמים ש"1" מופיע (ואכן אין "1" במספר)
הספרה השלישית - "2" אמורה להיות מספר הפעמים ש"2" מופיע (ואכןיש 2 פעמים "2" במספר)
הספרה הרביעית הימנית ביותר) - "0" - אמורה להיות מספר הפעמים ש"3" מופיע (ואכן אין "3" במספר)

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

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

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


Q.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  6210010000 Jojo X Noah 27.01.04 20:16 1
     חידה נחמדה מאוד codmaster 27.01.04 21:30 2
         אופס... qsignal 27.01.04 22:24 3
  איך פתרתם? פוקיפC 27.01.04 22:51 4
     פ ת ר ו ן qsignal 29.01.04 06:08 5
         אני פשוט מאוד שמתי תמספר 10000000 Jojo X Noah 30.01.04 16:31 6
         גישה אחרת לפתרון dryice 30.01.04 22:51 7

       
Jojo X Noah

דרג אמינות חבר זה
   20:16   27.01.04   
אל הפורום  
  1. 6210010000  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
codmaster

דרג אמינות חבר זה
   21:30   27.01.04   
אל הפורום  
  2. חידה נחמדה מאוד  
בתגובה להודעה מספר 1
 
   אך היא כבר נשאלה בפורום זה בעבר....


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
qsignal

דרג אמינות חבר זה
   22:24   27.01.04   
אל הפורום  
  3. אופס...  
בתגובה להודעה מספר 2
 
   עשיתי חיפוש ולא מצאתי...
טוב, בכל מקרה, מקווה שמי שלא הכיר נהנה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פוקיפC
חבר מתאריך 3.11.16
20 הודעות
   22:51   27.01.04   
אל הפורום  
  4. איך פתרתם?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
qsignal

דרג אמינות חבר זה
   06:08   29.01.04   
אל הפורום  
  5. פ ת ר ו ן  
בתגובה להודעה מספר 4
 
  
אז למי שפספס, וכפי ש- Jojo X Noah ציין - הפתרון הוא 6210010000.

אפשר, כמו שאמרתי, לבדוק את כל האפשרויות. ואפשר גם כך:

נתחיל ממספר כלשהו בן 10 ספרות. למשל - נבחר את:
6235234120

וממנו נבנה שוב מספר בן 10 ספרות, כאשר:
הספרה השנייה בו היא גם מספר ה"1" במספר שבחרתי
הספרה השלישית בו היא גם מספר ה"2" במספר שבחרתי
הספרה הרביעית בו היא גם מספר ה"3" במספר שבחרתי
הספרה החמישית בו היא גם מספר ה"4" במספר שבחרתי
הספרה השישית בו היא גם מספר ה"5" במספר שבחרתי
הספרה השביעית בו היא גם מספר ה"6" במספר שבחרתי
הספרה השמינית בו היא גם מספר ה"7" במספר שבחרתי
הספרה התשיעית בו היא גם מספר ה"8" במספר שבחרתי
הספרה העשירית בו היא גם מספר ה"9" במספר שבחרתי


ונקבל:
1132111000

נבצע שוב את אותם צעדים על מה שיצא ונקבל:
3511000000

ושוב, על מה שיצא קודם:
6201010000

וכך ממשיכים, עד להתכנסות.
(התכנסות, למי שאינו מכיר את המושג - הכוונה שממשיכים עד שאני מגיע לתוצאה שאם אבצע עליה את הפעולות שתיארתי, אגיע לאותו מספר. ראו את הדוגמא בהמשך).

נמשיך בבצוע הפעולה על התוצאה הקודמת ונקבל:
6210001000

ושוב:
6210001000

ושוב, ושוב, ושוב:
6210001000
זו התכנסות, וזה הפתרון.

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

נתחיל עם 1234567899
נבצע פעולות ונקבל:
0111111112 (זה כבר מספר בעייתי - הוא מתחיל ב-0. אבל נמשיך בכל מקרה...)
1810000000
7200000010
7110000100
6300000100
7101001000
6300000100
7101001000
6300000100
7101001000
.
.
.

ואנו "מתנדנדים" בין 2 המספרים:
6300000100
7101001000

זו אינה התכנסות, וצריך לנסות מספר התחלתי אחר...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Jojo X Noah

דרג אמינות חבר זה
   16:31   30.01.04   
אל הפורום  
  6. אני פשוט מאוד שמתי תמספר 10000000  
בתגובה להודעה מספר 5
 
   והתחלתי לבדוק....עכשו כשאני חושב על זה....עשיתי התכנסות :)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   22:51   30.01.04   
אל הפורום  
  7. גישה אחרת לפתרון  
בתגובה להודעה מספר 5
 
   שבה אני נקטתי בזמנו.

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

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

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

למעשה כאשר codemaster סיפר לי את החידה הוא כבר ידע את הפתרון
ומטרתי הייתה להוכיח שאין עוד פתרון וכך היה.

בגישה אחרת למציאת המספר ללא מחשב שראיתי כמה אנשים נוקטים:
ראשית מבינים שחייבים להיות הרבה אפסים, מנסים אם 9 ומיד נתקעים. אז מנסים 8 אפסים כלומר יש עוד ספרה כלשהיא שחייבית להיות 2 ואז נתקעים. מנסים עם 7 אז שמים 1 עבור מספר השביעיות
ואז 1 או 2 מעל ה1 ובכל מקרה נתקעים ואז מנסים 6 אפסים.
חייב להיות 1 במקום של השישיות, ואז חייב להיות משהוא במקום של
האחדות אי אפשר לשים 1 כי אז יש כבר שני אחדות אז אפשר 2 או 3.
3 נתקע במיידי ו2 מוביל מיד לפתרון 6210001000

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net