Вычисление факториала поместить в отдельный метод - C#
Формулировка задачи:
нужно переделать метод факториал(2к)! ,чтоб он вызывался не через метод а в самом коде.
namespace lab { public partial class Form1 : Form { private int M, N; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (x_tb.Text != String.Empty) { listBox1.Items.Add(x_tb.Text); x_tb.Text = String.Empty; } m_lb.Text = listBox1.Items.Count.ToString(); } private void button2_Click(object sender, EventArgs e) { M = listBox1.Items.Count; N = int.Parse(N_tx.Text); double result = 1, temp_result = 0; List<double> X = new List<double>(); List<double> Y = new List<double>(); for (int i = 0; i < listBox1.Items.Count; i++) { X.Add(Double.Parse(listBox1.Items[i].ToString())); } for (int ii = 0; ii < M; ii++) { int factorial = 1; result = 1; double a = 1; for (int i = 1; i <= N; i++) { a *= X[ii]; temp_result =1; int one = 1; for (int k = 1; k <= i; k++) { for (int j = 1; j <= 2 * k; j++) { a *= X[ii]; } int fact = Factorial(k * 2); temp_result += one * ((a) / (fact + i)); one = -one; } result *= temp_result; } Y.Add(result); } Result resForm = new Result(X, Y); resForm.Show(); } public int Factorial(int n) { int result = 1; for (int i = 1; i < n + 1; i++) { result *= i; } return result; } } }
Решение задачи: «Вычисление факториала поместить в отдельный метод»
textual
Листинг программы
private void button2_Click(object sender, EventArgs e) { M = listBox1.Items.Count; N = int.Parse(N_tx.Text); double result = 1, temp_result = 0; List<double> X = new List<double>(); List<double> Y = new List<double>(); for (int i = 0; i < listBox1.Items.Count; i++) { X.Add(Double.Parse(listBox1.Items[i].ToString())); } for (int ii = 0; ii < M; ii++) { int factorial = 1; result = 1; double a = 1; for (int i = 1; i <= N; i++) { a *= X[ii]; temp_result = 1; int one = 1; for (int k = 1; k <= i; k++) { for (int j = 1; j <= 2 * k; j++) { a *= X[ii]; } int fact = 1; for (int z = 1; z < k*2+1; z++) { fact *= z; } temp_result += one * ((a) / (fact + i)); one = -one; } result *= temp_result; } Y.Add(result); } Result resForm = new Result(X, Y); resForm.Show(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д