ABA


"עזרה בג'אווה - הכפלת 2 רשימות מקושרות אחת בשניה"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21304 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21304
Zeet3x  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.2.12
9976 הודעות, 24 פידבק
   00:58   13.06.15   
אל הפורום  
  עזרה בג'אווה - הכפלת 2 רשימות מקושרות אחת בשניה  
 
   יש לי 2 רשימות מטיפוס Digit (שטיפוס Digit מכיל מספר int בתוכו) שמייצגות 2 מספרים מאוד גדולים.
אני צריך לבנות פונקציה שתעשה פעולת מכפלה ביניהן... חשבתי לעשות בעזרת כפל ארוך (כמו שעשיתי בפונקציות של חיבור וחיסור), אבל זה נראה לי קצת בעייתי.
למישהו יש רעיון לשיטה יותר טובה אולי? אני רואה בגוגל שאנשים בעיקר הופכים את זה לint ואז מכפילים, אבל כאמור המספרים מאוד גדולים אז לא יעזור לי להעביר גם לא לlong.

תודה


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  אם לא רשמת זמן ריצה אז כנראה שלא אכפת לך,אז הכי קל לרשום: Dark-Wish 13.06.15 01:17 1
     נכון אבל מדובר כאן במספרים גדולים Zeet3x  13.06.15 02:02 2
         ניסיתי עכשיו לעשות כמו שאמרת Zeet3x  13.06.15 12:27 3
             אז כפל ארוך נשמע לא רע Dark-Wish 13.06.15 13:14 4
             פעולות כבדות לוקחות זמן, בהרבה מקרים איאפשר להתחמק מזה. ShocKi  13.06.15 13:58 5
                 חח חזק Zeet3x  13.06.15 18:39 7
  טוב אז הצלחתי אחרי הרבה זיעה בעזרת חילוק ארוך :) Zeet3x  13.06.15 18:39 6

       
Dark-Wish
חבר מתאריך 25.5.05
12576 הודעות
   01:17   13.06.15   
אל הפורום  
  1. אם לא רשמת זמן ריצה אז כנראה שלא אכפת לך,אז הכי קל לרשום:  
בתגובה להודעה מספר 0
 
   אם הרשימות הן X ו-Y
אז תבצע X פעמים חיבור של Y
כלומר תחשב Y+Y, ותעדכן את X להיות X-1, ככה עד ש-X שווה לאפס וסיימת
@Zeet3x@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Zeet3x  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.2.12
9976 הודעות, 24 פידבק
   02:02   13.06.15   
אל הפורום  
  2. נכון אבל מדובר כאן במספרים גדולים  
בתגובה להודעה מספר 1
 
   זה בטח ממש יעמיס על המערכת לא?
לדוגמא לחשב 19241084183108*14271897213963


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Zeet3x  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.2.12
9976 הודעות, 24 פידבק
   12:27   13.06.15   
אל הפורום  
  3. ניסיתי עכשיו לעשות כמו שאמרת  
בתגובה להודעה מספר 2
 
   מעבר ל6 ספרות*6 ספרות לוקח לו הרבה זמן לחשב חח :\
מה רק כפל ארוך זה הפתרון?
@Dark-Wish@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dark-Wish
חבר מתאריך 25.5.05
12576 הודעות
   13:14   13.06.15   
אל הפורום  
  4. אז כפל ארוך נשמע לא רע  
בתגובה להודעה מספר 3
 
   אבל בכל מקרה לפשטות הייתי משתמש בפונקציה הראשונה שאמרתי
כי אחרת תצטרך לעשות את הפעולה של הCARRY לבד וזה לא ממש נחמד
(תלוי בהגבלות)
כאילו על כל חוליה ברשימה תבצע את המכפלה בעזרת פונקציה הראשונה
קיבלת רשימה, דחוף למחסנית

אותו דבר על החוליה השניה, תכפיל ב-10 (הוספת חוליה במקרה הזה) ודחוף למחסנית

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

יש עוד פתרון יותר יעיל שמשתמש במשוואות ופעולות בינאריות( XOR וכאלה ) שהוא יותר יעיל אבל אולי פחות נח לשימוש ואני לא זוכר אותו


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   13:58   13.06.15   
אל הפורום  
  5. פעולות כבדות לוקחות זמן, בהרבה מקרים איאפשר להתחמק מזה.  
בתגובה להודעה מספר 3
 
   במיוחד כאשר אתה גם מוגבל מאוד בדברים שאתה יכול לעשות.
לפעמים שימוש נכון בתכנות מקבילי יכול לשפר משמעותית זמן ריצה בסוג הבעיות האלה.

באופן כללי, כדאי שתכיר... Java זו שפה איטית.

http://40.media.tumblr.com/5a53715bf3a18bfacc98100ac61eae4c/tumblr_mw8bz04Hyi1qz9l5so1_1280.jpg


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Zeet3x  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.2.12
9976 הודעות, 24 פידבק
   18:39   13.06.15   
אל הפורום  
  7. חח חזק  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Zeet3x  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.2.12
9976 הודעות, 24 פידבק
   18:39   13.06.15   
אל הפורום  
  6. טוב אז הצלחתי אחרי הרבה זיעה בעזרת חילוק ארוך :)  
בתגובה להודעה מספר 0
 
  


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

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

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



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