יש לי מערך עם N תווים בתוכו, ואני צריך לבצע בינהם את כל ההחלפות האפשריות. כיצד אני עושה את זה? לדוגמא, לקלט 123 כל ההחלפות הם: 132 213 231 312 321
בדוגמא הזאת יש 3 תווים במערך. הבעיה שלי שבמערך יש N תווים ולפיכך אני לא יודע איך לעשות זאת.[ההודעה נערכה על-ידי T4uSBaZ ב-24/06/2007 02:54:40]
24/06/2007 08:17:22
Debug
אפשר לקחת את התו האחרון במערך ולהחליף אותו בזה שנמצא אחריו עד שהוא מגיע לתא הראשון. כאשר הוא מגיע לתא הראשון לוקחים שוב פעם את התו שנמצא בתא האחרון ושוב מחליפים אותו בתא שנמצא אחריו עד שהוא מגיע לתא הראשון. חוזרים על אותה פעולה עד שהמחרזות שנמצאת במערך היא אותה המחרוזת כמו בקלט לדוגמא: 12e3->התחלה (קלט) 123e 132e 312e 31e2 3e12 e312 e321 e231 2e31 2e13 21e3 12e3-> הגענו להתחלה[ההודעה נערכה על-ידי Debug ב-24/06/2007 08:18:54]
24/06/2007 11:47:59
T4uSBaZ
חשבתי על זה. שים לב, שלא עשית את כל הקומבינציות האפשריות.!
במקרה של ארבע תווים, יש 24 קומבינציות שונות. (מספר האפשרויות שווה למספר העצרת ( 1*2*3..*n).
24/06/2007 13:13:50
Debug
צודק ב100%. אפשר לתקן את זה אם נעשה את אותה הפעולה על המספר האחרון בסדרה (סדרה "1",סדרה "e" וכו’) לדוגמא: סדרה "1": 1e23 12e3 - 1e23 המחרוזת האחרונה בסדרה -> נבצע את אותה הפעולה על מחרוזת האחרונה בסדרה ונקבל את הקומבינציות החסרות: 1e32 13e2 31e2
סדרה e e123 ... נקבל עוד שתי קומבינציות מאותה "סדרה" + קומבינציה מ"סדרה" אחרת לבסוף נקבל 6 קומבינציות מכל "סדרה" מה שיוצא 24 קומבינציות לא בדקתי איך זה יוצא ב5 תווים ואני מניח שצריך קצת לשחק עם זה נ.ב אני מקווה שאני מובן =)
[ההודעה נערכה על-ידי Debug ב-24/06/2007 13:49:59]
24/06/2007 13:49:11
T4uSBaZ
לא מצליח לי ממש, מצטער =\
26/06/2007 11:34:39
xtr
קודם כל אתה צריך למצוא את כל הספרות אני הייתי מגידר מערך עקרונית גודלו צריך להיות בסגנון ה 36000 לכן אם אתה רוצה שיכניסו כל מספר אפשרי בתכום האינט מערך זלא יהיה מערך זה יהיה רשימה או משהוכדי לפרק לספרות אתה עושה לולאת וואיל num%10!=0 array[i++]=num%10 num=num%10 עכשיו שיש לך את כל המספרים במערך אמור להיות לך יותר קל חשבתי על פיתרו ולדעתי ריקוקסיה תיהיה הפתרון9
תסתכל על זה if num1 = (int)string1 break; else 12 if (i=0) i=len(string) string(i-1)=temp string(i-1)=string i i=temp print(string) return f(....)
זה כזה חפני כזה אין הגדרה לפונ’ציה כי אני פשוט חושב שיהייה לך קל לעשות בכל גלובאלי
27/06/2007 18:45:49
T4uSBaZ
xtr, הדוגמא הייתה ספרות. זה לא ספרות , זה תווים. זה יכול להיות כל תו שיכול להיות מוקלד :)
27/06/2007 23:06:25
xtr
נו ו ??