אם כבר חידות:

ברנדל

New member
אם כבר חידות:

לא ממש שאלה תכנותית אבל בהחלט מעסיקה את המוח (נא לא לתת תשובה בכותרת) נסו להשתמש במספרים 1 , 5 ,6 ,7 (בכל מספר בדיוק פעם אחת) להשתמש ב סימני + - / * (מותר להשתמש באופרטור אחד יותר מפעם , ולא צריך להשתמש בכולם), מותר להשתמש בסוגריים חופשי. קיצר צריך להגיע בדיוק ל 21. לדוגמא הדבר הבא חוקי: 1 + (6 * 5) + 7 רק שכאן נגיע ל 38 , ואנחנו רוצים 21.
 

ררדד

New member
אם אתה מחפש את התשובה

בוא אלינו לפורום מתמטיקה(457) השאלה הזאת כבר הופיעה שם יותר מפעם אחת..
 

ahardon

New member
לא שאלה תכנותית?!

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

ahardon

New member
ככה יותר טוב

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

pertal

New member
אתה בטוח שבדקת אפשרויות כמו:

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

pertal

New member
ד"א כתבת בתוכנית משהו כזה:

if((res==-21) || (res==-21)) התכוונת שאחד מהם יהיה 21, לא?
 

ahardon

New member
צודק... אבל זה עדיין לא משנה..../images/Emo13.gif

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

ברנדל

New member
כל הכבוד על ההשקעה..

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

ahardon

New member
מה לא מספיק טובה?!

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

ahardon

New member
אהה הבנתי מה לא בסדר...

אין מצב שזה יעשה משהו כזה: 7/(6+5+1) זה יוצא הפוך, צריך ליישר לשמאל, יעני 7 חלקי (6 + 5 + 1). טוב נטפל בזה אחרי הארוחת חג... חג שמח!
 

quirrex

New member
בדקתי הכל אין פתרון!

זה לא אמור להיות יותר קשה מזה : 2,3,4,5,=26, אבל את זה פותרים מיד...
 

ahardon

New member
עוד תיקון..

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

quirrex

New member
אז התוכנית שלך עובדת..

אז הבעיה בשאלה, משהו מסריח פה..
 

quirrex

New member
לא, בדקתי על נייר, הרי אין פה הרבה

אפשרויות, סהכ 4 ספרות..
 

ahardon

New member
לא בדיוק,

4 ספרות זה 24 סידורים, אבל זה כפול 256 אפשרויות שונות לסימנים. סה"ב 6144 אפשרויות.
 

ahardon

New member
צודק, כפול 5

5 אפשרויות שונות לסוגריים, סה"כ 30720 אפשרויות.
 
למעלה