سلام خدمت دوستان برنامه ای نوشتم ک فاکتوریل رو حساب کنه با روش های دیگ میتونم بنویسم ولی چرا این کار نمیکنه مثلن عدد 3 رو که میدم خروجی میده 458131456- ................................................
int recive = Convert.ToInt32(Console.ReadLine());
for (int i = 2; i < recive; i++)
{
recive = recive * i;
}
Console.WriteLine(recive);
Console.ReadKey();
سلام این رو بنویسید یکم اشتباه دارین(احتمالا مفهوم فاکتوریل رو دقیق متوجه نشدین) مشکل ازینه که مقدار ورودی اولا صفر نیست دوما دائم تغییر میکنه و جواب مطلوب رو نمیده چون شرط حلقه روی همون هست و وقتی هی مقدارش زیاد بشه شرط حلقه هم نقض نمیشه
int recive = Convert.ToInt32(Console.ReadLine());
int resault = 1;
for (int i = 1; i < recive; i++)
{
resault = resault * (i + 1);
}
Console.WriteLine(resault);
Console.ReadKey();
فرقی نمیکنع ک ترجمش کنی تو دفتر بنویسی کد منو تو یکیه من از 2 شروع کردم تو از یک شروع کردی در عوض به i یک واحد اضافه کردی فرقی نمیکنع ک
پس چرا کد من کار نمیکنع
نه متوجه نشدین من یک int ریزالت هم گذاشتم و نتیجه رو داخل اون میریزم شما نتیجه رو داخل ریسیو میریزین و وقتی داخل حلقه شرط بررسی میشه اون ریسیو مقدارش زیادتر شده و اون حلقه خیلی بیشتر از اونی که باید ادامه پیدا میکنه
و بله از دو هم شروع شه مشکلی نیست
اهاااا
گرفتم دمت گرم فدات