ערכתי לאחרונה בתאריך 01.06.06 בשעה 13:59 בברכה, MULI
מה נחשב אפשרות שונה?
אם הוא עולה בהתחלה N-2 שלבים ובסוף 2 שלבים רצוף זה אפשרות אחת
ואם הוא עולה N-4 שלבים ובסוף פעמיים 2 שלבים רצוף זה אפשרות אחרת
ואם הוא עולה N/2 פעמים 2 שלבים רצוף זה עוד אפשרות? ככה אתה מתכוון...?אם זה כן ככה, אז צריך קודם לעשות הבחנה אם N הוא זוגי או אי זוגי
אם הוא זוגי תפעל הפרוצדורה הבאה:
sum:= 0; total:= 0; b:=N; for i:=1 to N/2 do begin for j:=1 to b do begin sum:= sum+1; end total:= total+sum; sum:=0; b:=b-2; end
|
הסבר:
הלולאה החיצונית סוכמת את האפשרויות של קפיצה של 2 רצוף, והלולאה הפנימית סוכמת את מספר הקפיצות היחידות שאפשר לעשות בצירוף עם מספר הקפיצות של ה2 רצוף (שאותם סוכמת הלולאה החיצונית).
עכשיו, כל פעם שאנחנו עושים 2 קפיצות רצוף, אי אפשר לסכום אחריהן N קפיצות של אחדים שלמים, כי זה יחרוג מגובה הסולם
אז כל פעם B יורד ב2 כדי להתאים את הלולאה הפנימית לגובה של הסולם אחרי מספר הפעמים שביצענו קפיצות של 2 רצוף.
ובמקרה שN הוא אי זוגי, מפעילים את אותה פרוצדורה רק שמוסיפים לה אחד בסוף 
ועוד משו, אין לי מושג באיזה שפה כתבתי את זה