Вычисление факториала с использованием рекурсии - найти ошибку в коде - C#

Узнай цену своей работы

Формулировка задачи:

Что я не так делаю, когда вычисляю факториал введенного числа в текстовое поле? Получается 5!=20, 4!=12 и т д
namespace Factorial_Recursia
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button_calc_Click(object sender, EventArgs e)
        {
            int num = Convert.ToInt32(textBox_number.Text);
            Calc calc = new Calc();
            label_factorial.Text=Convert.ToString( calc.Factorial(num));
            
        }
    }
    class Calc
    {
        //int result;
        public int Factorial(int i)
        {
            int result=i;
 
            if (i != 1)
            {              
                 i=i-1;
                result *= i;
                Factorial(i);
            }
            return result;    

        }
    }
}
спасибо за внимание
упс.. нашла ошибку сама спасибо за внимание

Решение задачи: «Вычисление факториала с использованием рекурсии - найти ошибку в коде»

textual
Листинг программы
        static int factorial(int i)
        {
            int result;
 
            if (i == 1)
                return 1;
            result = factorial(i - 1) * i;
            return result;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5