שאלה באלגורתמיקה

dwante

New member
שאלה באלגורתמיקה

פונקציה המקבלת מספר N ואליה למצוא את כל הצירופים האפשרים של המספר הזה ברקורסיה כמובן למשל 156 אז זה : 165 615 561 יש להדפיס את כל הצירופים (בתוך הפונקציה הרקורסבית) למישהו יש רעיון?
 

yair24

Member
המממממ.

אולי אפשר לעשות משהו עם משחקים בחלוקה ב10 ומודולו 10 בתוך הרקורסיה? 156/10=15 156%10=6 15/10=1 15%10=5 1%10=1 נראה לי שיש דרך לשחק עם הפעולות האלה ברקורסיה ולהגיע למה שאתה צריך אבל אין לי כל כך הרבה זמן לנסות. מקווה שזה יתן לך לפחות רעיונות... יאיר צוות "המפתח לבית הספר"
 

yair24

Member
הבהרה

תנאי העצירה שלך יכול להיות כאן כשהחלוקה ב10 שווה ל-0 אז לעצור את הרקורסיה ולהתחיל להתקפל יאיר
 

3am

New member
לפי דעתי

יש ליראות את המחרוזות , ולא את המספרים כלומר: עבור 156 : יש שלושה ספרות ולכן הפתרון הוא איחוד של : { התו 1 משורשר מימין לכל התוצאות של מחרוזת "56" התו 5 משורשר מימין לכל התוצאות של מחרוזת "16" התו 6 משורשר מימין לכל התוצאות של מחרוזת "15" } מקרה הבסיס הוא שתי ספרות (נגיד 1 ו 5 ) ואז התשובה היא --> "15" , "51" (כל התוצאות == הקריאה הרקרוסיבית)
 

dwante

New member
הממ

המקרה הבסיסי שלך לא מריח "טבעי" מספיק כאילו די ברור פה שהמקרה הבסיסי זה מספר אחד..
 

yishay K4School

New member
אפשרות נוספת

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