• 1399/04/12

مشکل فاکتوریل :

سلام خدمت دوستان برنامه ای نوشتم ک فاکتوریل رو حساب کنه با روش های دیگ میتونم بنویسم ولی چرا این کار نمیکنه مثلن عدد 3 رو که میدم خروجی میده 458131456-    ................................................

int recive = Convert.ToInt32(Console.ReadLine());
            
            for (int i = 2; i < recive; i++)
            {
                recive = recive * i; 
            }

            Console.WriteLine(recive);
            Console.ReadKey();
  • 1399/04/12
  • ساعت 23:07

سلام این رو بنویسید یکم اشتباه دارین(احتمالا مفهوم فاکتوریل رو دقیق متوجه نشدین) مشکل ازینه که مقدار ورودی اولا صفر نیست دوما دائم تغییر میکنه و جواب مطلوب رو نمیده چون شرط حلقه روی همون هست و وقتی هی مقدارش زیاد بشه شرط حلقه هم نقض نمیشه 

         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();

  • 1399/04/13
  • ساعت 19:36

فرقی نمیکنع ک ترجمش کنی تو دفتر بنویسی کد منو تو یکیه من از 2 شروع کردم تو از یک شروع کردی در عوض به i یک واحد اضافه کردی فرقی نمیکنع ک

پس چرا کد من کار نمیکنع


  • 1399/04/13
  • ساعت 19:44

نه متوجه نشدین من یک int ریزالت هم گذاشتم و نتیجه رو داخل اون میریزم شما نتیجه رو داخل ریسیو میریزین و وقتی داخل حلقه شرط بررسی میشه اون ریسیو مقدارش زیادتر شده و اون حلقه خیلی بیشتر از اونی که باید ادامه پیدا میکنه 

و بله از دو هم شروع شه مشکلی نیست


  • 1399/04/13
  • ساعت 20:20

اهاااا

گرفتم دمت گرم فدات


logo-samandehi