בעיית אלגוריתם קטנה

nextexit

New member
בעיית אלגוריתם קטנה

יש לי את המשוואה : 2x-3y-1=5 אני צריך למצוא את כל ה x,y,z השלמים בתחום [2,2-] אני יכול לעשות את זה ב3 לולאות FOR מקוננות אחת בשניה אבל אז סדר גודל זמן ריצה יהיה n בשלישית ... יש דרך יותר יעילה ?!
 

ron369

New member
חכה שניה,

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

vinney

Well-known member
רק בשלמים

במחשב זה אומנם סופי תמיד, אבל הגדלים של המספרים הצפים יכולים להגיע עד "אינסוף" (1.7E308 בdouble ב ++C).
 

vinney

Well-known member
רק לא שמתי לב שהוא שואל על שלמים../images/Emo6.gif

 

nextexit

New member
טוב איבדתי אותכם

קיצר יש שיטה יותר טובה מ3 לולאות FOR אחת בתוך השניה ?
 

The Transposer

New member
נראה לי שמספיקות 2 לולאות for

רק עבור ערכי x וy, ולכל זוג כזה מוצאים z מתאים ובודקים האם הוא בקטע והאם הוא שלם, ככה שסדר גודל זמן ריצה הוא (O(n²
 

johnny d

New member
ברור שזה O(1) אבל רק כאשר

אתה מדבר על המשוואה הספציפית הזו, והתחום הספציפי הזה, ואז האלגוריתם שלך יכול להיראות כך: החזר x= משהו, y= משהו, z= משהו. אם המשוואה לא ידועה או התחום לא ידוע (מספיק אחד מהם בלבד) אז זהו מקרה פרטי של מערכת משוואות ליניארית בשלמים. לבעיה זו לא ידוע פתרון שרץ בזמן פולינומיאלי, אבל כולם משתמשים בשיטת הsimplex, בפועלת מצויין.
 
למעלה