ABA


"עזרה בתיכנות Java"
גירסת הדפסה        
קבוצות דיון לימודים, מדע ותרבות נושא #21145 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21145
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   13:49   04.03.15   
אל הפורום  
  עזרה בתיכנות Java  
 
   http://rotter.name/User_files/nor/54f6f05d6a208314.jpg

לגביי שאלה 1.

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

הערות:
n הוא מספר ידוע וניתן להשתמש בו בקוד, כמו כן הוא קבוע מראש ולא משתנה.
לא ניתן להשוות 2 מספרי IntN באופן ישיר (לא קיים equals).
ספירת הביטים מתחילה משמאל לימין (מה-MSB אל הLSB), ז"א שביט n-1 הוא ה-LSB.

תודה לעוזרים!


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  הייתי מנסה להגדיר משתנה עזר שיאותחל בערך 2 כמה עוד 04.03.15 20:38 1
     Bar כמה עוד 04.03.15 20:40 2
     המרצה לא העלה את הפתרון... Bar  04.03.15 22:43 3
  אממ יש טריק לפתור את זה... ShocKi  04.03.15 22:54 4
     את הטריק הזה אני מכיר Bar  04.03.15 23:03 5
  מצאתי בגוגל משהו שיכול להיות הפתרון כמה עוד 05.03.15 11:31 6
     שגר אליי... אני שובר על זה את הראש כבר מספיק זמן חחח Bar  05.03.15 12:33 7
         מכתב כמה עוד 05.03.15 12:37 8
             ככה מימשתי את השיטה הרקורסיבית Bar  05.03.15 12:40 9
                 שיט, צודק כמה עוד 05.03.15 12:44 10
                     אני לא לומד מדמ''ח, אז לא.... Bar  05.03.15 12:46 11
                     יש לי הארה!!! Bar  05.03.15 12:56 12
                         פשש יפה מאוד אחי. אתה מדבר על אם יש לי 8 אז להפוך אותו ל 16? כמה עוד 05.03.15 13:06 13
                             בדיוק. Bar  05.03.15 13:12 14
                                 העיקר שעלית על זה.. יפה אחי, אני כבר שעה יושב על זה ולא כל כך מצאתי כמה עוד 05.03.15 13:14 15
                                     כן אני בידוק חושב על זה Bar  05.03.15 13:23 16
                                         אני משחרר מזה, תעדכן אם תמצא משהו- זה מעניין כמה עוד 05.03.15 13:27 17
                                             זאת שאלה ממש מעניינת. yohaybn 26.03.15 09:29 21
                                                 הכל טוב ויפה, אבל בשביל להשוות אתה צריך O(N) Bar  26.03.15 15:18 22
                                                     לכן הנחתי שיש השוואה yohaybn 27.03.15 08:43 23
                                                         אין לזה תשובה, זה לא פתיר... Bar  27.03.15 18:04 24
  לאחר בדיקה עם המרצה, השאלה לא פתירה Bar  11.03.15 00:28 18
     יש פקטור? מה נסגר עם השאלה ברמת המבחן עצמו? כמה עוד 11.03.15 08:18 19
         כן הוא נתן פקטור Bar  11.03.15 15:39 20

       
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   20:38   04.03.15   
אל הפורום  
  1. הייתי מנסה להגדיר משתנה עזר שיאותחל בערך 2  
בתגובה להודעה מספר 0
 
   וכל פעם הייתי מעלה אותו בחזקת 2
ועושה השוואה בין המשתנה עזר לבין x ברמה של השוואה בין ביט וביט
כלומר אם יש לי את המספר
x=1100
ואת המשתנה עזר נגיד x=1000
אז הייתי רץ מצד שמאל לימין ומריץ את bitAtIndex עבור כל ביט של x ושל המשתנה עזר בהתאמה. אם עבור שניהם קבלתי מ bitAtIndex ערך true אז אני יודע שהספרה זהה בשניהם ואני יכול להמשיך ולבדוק בהתקדמות לכיוון ימין. אם אני מזהה אי שוויון - אני מפסיק את בדיקת הביטים ומעלה את משתנה העזר בחזקת 2 וחוזר על הכל מהתחלה

הבעיה רק איך לזהות כשעברנו עם משתנה העזר את המספר הנתון
נגיד
x=10
ומשתנה העזר כבר הגיע לערך 16
פה צריך להבדיל איך כבר המקרה אבוד, ו x לא יהיה חזקה של 2

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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   20:40   04.03.15   
אל הפורום  
  2. Bar  
בתגובה להודעה מספר 1
 
   @Bar@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   22:43   04.03.15   
אל הפורום  
  3. המרצה לא העלה את הפתרון...  
בתגובה להודעה מספר 1
 
   צריך לשים פה לב לזמני ריצה שהם דורשים.
סתם הריצה של הפתרון שהצעת הוא O של n

נשלח ע"י הסלולרי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20215 הודעות, 10 פידבק
   22:54   04.03.15   
אל הפורום  
  4. אממ יש טריק לפתור את זה...  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 04.03.15 בשעה 22:57 בברכה, ShocKi
 
בגדול זו השיטה:


bool IsPowerOfTwo(ulong x)
{
return (x != 0) && ((x & (x - 1)) == 0);
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   23:03   04.03.15   
אל הפורום  
  5. את הטריק הזה אני מכיר  
בתגובה להודעה מספר 4
 
   Bitwise AND.

אבל שים לב שניתן להשתמש רק בשיטות שניתנו בתרגיל וזמן אתה של O של שורש n או פחות.

נשלח ע"י הסלולרי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   11:31   05.03.15   
אל הפורום  
  6. מצאתי בגוגל משהו שיכול להיות הפתרון  
בתגובה להודעה מספר 0
 
   השאלה אם אתה רוצה אותו או שאתה רוצה לשבור עוד את הראש?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   12:33   05.03.15   
אל הפורום  
  7. שגר אליי... אני שובר על זה את הראש כבר מספיק זמן חחח  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 05.03.15 בשעה 12:38 בברכה, Bar
 
@כמה עוד@

ד"א, זה הפתרון הרקורסיבי שלי למי שמעוניין:
http://rotter.name/User_files/nor/54f831fa4a22a092.jpg#


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   12:37   05.03.15   
אל הפורום  
  8. מכתב  
בתגובה להודעה מספר 7
 
   הפתרון של ה Devide by 2. אני מאמין שעם שורש זה גם יעבוד
http://www.exploringbinary.com/ten-ways-to-check-if-an-integer-is-a-power-of-two-in-c/

לגבי התנאי של ה while דיי פשוט להמיר אותו לפקודות הנתונות ב ADT


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   12:40   05.03.15   
אל הפורום  
  9. ככה מימשתי את השיטה הרקורסיבית  
בתגובה להודעה מספר 8
 
   ואין בעיה לממש את זה גם איטרטיבית, אבל אז הזמן ריצה הוא O של n ולא O של שורש n כמו שהם מבקשים...

עם שורש זה לא עובד לצערי, זה עובד רק עבור חזקות זוגיות... ז"א שלמשל 8 הוא חזקה של 2, אבל שורש של 8 זה לא...

@כמה עוד@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   12:44   05.03.15   
אל הפורום  
  10. שיט, צודק  
בתגובה להודעה מספר 9
 
   וואי איזה שאלה משוגעת לתת במבחן. איזה מרצה מניאק

תגיד אתה מכיר מרצה שהשם משפחה שלו זה אלקין ממדמח?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   12:46   05.03.15   
אל הפורום  
  11. אני לא לומד מדמ''ח, אז לא....  
בתגובה להודעה מספר 10
 
   זה במסגרת הקורס "יסודות מדעי המחשב להנדסת מערכות תקשורת",
והמרצה הוא מהמחלקה עצמה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   12:56   05.03.15   
אל הפורום  
  12. יש לי הארה!!!  
בתגובה להודעה מספר 10
 
   אם הביט הדלוק הראשון מה-MSB אל ה-LSB הוא במיקום זוגי (בגלל שהספירה היא מ-0 עד n-1), מכפילים את המספר ב-2 ואז מבצעים עליו פעולת שורש כל עוד הוא שונה מ-2.
אם הביט הדלוק הראשון הוא באינדקס אי-זוגי, מפעילים את פעולת השורש עד שמקבלים 2.
אם מקבלים 2 בסופו של דבר, המספר הוא חזקה של 2, אחרת הוא לא.

@כמה עוד@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   13:06   05.03.15   
אל הפורום  
  13. פשש יפה מאוד אחי. אתה מדבר על אם יש לי 8 אז להפוך אותו ל 16?  
בתגובה להודעה מספר 12
 
   ערכתי לאחרונה בתאריך 05.03.15 בשעה 13:10 בברכה, כמה עוד
 
וואלה אחי, חזק מאוד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   13:12   05.03.15   
אל הפורום  
  14. בדיוק.  
בתגובה להודעה מספר 13
 
   לשים את זה על הנייר זה קצת יותר קשה חח


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   13:14   05.03.15   
אל הפורום  
  15. העיקר שעלית על זה.. יפה אחי, אני כבר שעה יושב על זה ולא כל כך מצאתי  
בתגובה להודעה מספר 14
 
   דרך
תגיד אבל לחפש את הביט הראשון שהוא 1, איזה זמן ריצה זה נחשב? תכלס במקרה הממוצע לא תרוץ יותר מ חצי מהביטים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   13:23   05.03.15   
אל הפורום  
  16. כן אני בידוק חושב על זה  
בתגובה להודעה מספר 15
 
   האמת שלמצוא את הביט הראשון שהוא 1 זה O של n, כי אם במקרה הערך של הרצף ביטים הוא 1 ויש 123231 ביטים, אז יהיה לך הרבה אפסים בהתחלה ורק בסוף 1. מה שכן, אתה תוכל להגיד ישר שזה חזקה של 2 בלי לבצע שום פעולה נוספת...

אז אני לא יודע, לא סגור ב-100 אחוז, כי זה בעצם O של n.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   13:27   05.03.15   
אל הפורום  
  17. אני משחרר מזה, תעדכן אם תמצא משהו- זה מעניין  
בתגובה להודעה מספר 16
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yohaybn
חבר מתאריך 6.1.14
74 הודעות
   09:29   26.03.15   
אל הפורום  
  21. זאת שאלה ממש מעניינת.  
בתגובה להודעה מספר 17
 
   הצלחתי לפתור אותה אם אפשר להשוות בין שני מספרים.

כדי שמספר יהיה חזקה של שתיים צריך להיות ביט אחד בלבד דלוק.
עכשיו כדי לבדוק אם רק אחד דולק
נבדוק אם המספר שווה או קטן מ2^N אם לא נחזיר שקר.
אם כן ניקח את N ונחלק לשניים אם הביט הN/2 דולק נשווה ל2^(N/2)אם שווה נחזיר אמת אם קטן נחלק את ונבדוק את N/4 אם גדול נבדוק את 3N/4
נמשיך עד שנמצא את הביט הדולק. ברגע שמוצאים את הביט הדולק משווים ל2^אינדקס אם זה שווה אז נחזיר אמת אחרת נחזיר שקר.

זה רץ בלוג N שקטן משורש N .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   15:18   26.03.15   
אל הפורום  
  22. הכל טוב ויפה, אבל בשביל להשוות אתה צריך O(N)  
בתגובה להודעה מספר 21
 
   אז לא עשית בזה כלום...

מספיק לך לרוץ על כל הביטים פעם אחת ולבדוק שרק ביט אחד דלוק ע״י הרמת דגל, אבל כמו שאמרתי, זה ב-O(N).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yohaybn
חבר מתאריך 6.1.14
74 הודעות
   08:43   27.03.15   
אל הפורום  
  23. לכן הנחתי שיש השוואה  
בתגובה להודעה מספר 22
 
   אם הוא הצליח להכפיל לחלק לחסר ולחבר בO(1) אני בטוח שהוא יכול גם להשוות בO(1)..

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   18:04   27.03.15   
אל הפורום  
  24. אין לזה תשובה, זה לא פתיר...  
בתגובה להודעה מספר 23
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   00:28   11.03.15   
אל הפורום  
  18. לאחר בדיקה עם המרצה, השאלה לא פתירה  
בתגובה להודעה מספר 0
 
   אי אפשר לממש את זה בזמן ריצה הרצוי...

נשלח ע"י הסלולרי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
כמה עוד לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.09
483 הודעות, 11 פידבק
   08:18   11.03.15   
אל הפורום  
  19. יש פקטור? מה נסגר עם השאלה ברמת המבחן עצמו?  
בתגובה להודעה מספר 18
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק
   15:39   11.03.15   
אל הפורום  
  20. כן הוא נתן פקטור  
בתגובה להודעה מספר 19
 
   אבל עדיין זה שרף לאנשים הרבה זמן בבחינה

נשלח ע"י הסלולרי


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

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

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



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