ABA


"רקורסיה | C#"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15008 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15008
d1a1n0
חבר מתאריך 1.1.06
3731 הודעות
   14:25   21.10.08   
אל הפורום  
  רקורסיה | C#  
 
   אני צריך לכתוב פונקציה רקורסיבית שמקבלת מספר ואולי עוד כמה דברים נוספים... המספר המקסימלי- 250. המטרה היא להפחית את המספר ל 42 תוך 3 פעולות-

אם המספר מתחלק ב 2 להוריד ממנו מחצית.

אם המספר מתחלק ב 3 או 4 להוריד ממנו את מכפלת שתי ספרותיו האחרונות.

אם מתחלק ב 5, להוריד ממנו 42 בדיוק.

המטרה היא כאמור שבסוף ישאר לי 42.

לדוגמא- המספר 104

הוא מתחלק ב2 ולכן נפחית מחצית---------> נקבל 52

52 מתחלק ב 4 ולכן נפחית 5*2-------------> נקבל


_________________________________________________________________


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string args)
{
int n = int.Parse(Console.ReadLine());
int steps = 1;
Console.Write(doit(n, steps));
Console.ReadKey();
}

static int doit(int n, int steps)
{
if ((n <= 42) || (steps == 4))
{
Console.WriteLine("UR NUMBER UNDER : 42 , OR cannot be 42 in 3 steps");
return (n);
}

if (n / 2 == 0)
{
return (doit(n / 2, (steps + 1)));
}
else
if ((n / 3 == 0) || (n / 4 == 0))
{
return doit(((n % 100) / 10) * (n % 10), (steps + 1));
}
else
if (n / 5 == 0)
{
return (doit(n - 42, (steps + 1)));
}
else
if ((n == 42) && (steps == 3))
{
return (n);
}

return (n);
}
}
}


a


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  כנס עידן_הכלי 21.10.08 16:41 1
     תודה d1a1n0 21.10.08 16:43 2

       
עידן_הכלי

   16:41   21.10.08   
אל הפורום  
  1. כנס  
בתגובה להודעה מספר 0
 
   הבעיה שלך היא בתנאים,

כדי לדעת אם מספר מתחלק ב-2 או ב-3 או ב-4 צריך להשוות את שארית החילוק ל-0 ולא את המנה.

לדוגמא במקום לעשות


if ((n / 3 == 0) || (n / 4 == 0))

צריך לעשות


if ((n % 3 == 0) || (n % 4 == 0))


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
d1a1n0
חבר מתאריך 1.1.06
3731 הודעות
   16:43   21.10.08   
אל הפורום  
  2. תודה  
בתגובה להודעה מספר 1
 
  


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

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

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



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