PDA

View Full Version : مشکل در مورد کنسول



mohabad
سه شنبه 24 اردیبهشت 1392, 22:51 عصر
سلام خدمت دوستان عزیز .
من به یه مشکلی بر خوردم .مشکلم حساب این مساله هست اگه میشه راهنمایی کنید.
من این کد رو تست کردم شما هم تست کنید وقتی عدد 5 رو وارد میکنم چرا جوابش میشه 120 ؟
من موندم تو این جواب چرا مثلا 3 میشه 6؟
static void Main(string[] args)
{
int x, i;
int old=1;
string st1;
st1 = Console.ReadLine();
x = Int32.Parse(st1);
for (i = 1; i <= x; i++)
{
old = old * i;
Console.WriteLine(old);
}

Console.ReadKey();
}
}
}
تو کنسول وقتی عدد 5 رو میزنی اینو میاره !!!!
5
1
2
6
24
120

مهرداد صفا
چهارشنبه 25 اردیبهشت 1392, 00:02 صبح
با سلام.
کد فوق فاکتوریل عدد (حاصل ضرب اعداد 1 تا عدد) را نمایش می دهد.

ali.bahrami
چهارشنبه 25 اردیبهشت 1392, 00:12 صبح
دقیقا دوست خوبمون M.safa درست میگن فاکتوریل را حساب میکنه .
برای اینکه بهتر متوجه بشی به صورت دستی روی کاغذ عدد را جایگزین کن و مقادیر را حساب کن

mohabad
چهارشنبه 25 اردیبهشت 1392, 11:43 صبح
دقیقا دوست خوبمون M.safa درست میگن فاکتوریل را حساب میکنه .
برای اینکه بهتر متوجه بشی به صورت دستی روی کاغذ عدد را جایگزین کن و مقادیر را حساب کن
داداش من متوجه هسنم که حاصل ضرب 5*24 میشه 120 . ولی این 1و 2 , و 24 از کجا اومدن؟

ali.bahrami
چهارشنبه 25 اردیبهشت 1392, 12:01 عصر
دوست عزیز وقتی شما 5 را وارد میکنی مقدار اولیه i = 1 هست و مقدار old = 1 داخل حلقه ابتدا old * i میشه که جواب 1 هست و داخل متغیر old قرار میگیره و 1 چاپ میشه در مرحله بعد یک واحد به i اضافه میشه و مجددا در old ضرب میشه که نتیجه 2 هست و در متغیر old قرار میگیره و چاپ میشه
مجددا یک واحد به i اضافه میشه و مقدار i به 3 میرسه و مقدار old هم که 2 بوده در نتیجه جواب 6 و در old قرار میگیره و چاپ میشه. در مرحله بعد i میشه 4 و در مقدار old که 6 هست ضرب میشه و جواب 24 در old قرار میگیره و الی اخر .....

mohabad
چهارشنبه 25 اردیبهشت 1392, 12:06 عصر
جوابو گرفتم خیلی ممنون:قلب:

ali.bahrami
چهارشنبه 25 اردیبهشت 1392, 12:13 عصر
جوابو گرفتم خیلی ممنون:قلب:

خواهش میکنم دوست عزیز
وظیفه ام بود :چشمک: