2015-07-19 64 views
2

現在我已將4! = 24輸出到消息框中。如何寫出用於計算階乘的所有整數

我想要做的就是添加所有在計算中乘以n的整數。所以如果我輸入4,我想得到4! = 1 x 2 x 3 x 4 = 24,而不是4! = 24

代碼:

private void calculateButton_Click(object sender, EventArgs e) 
{ 
    int userNumber = 0; 
    double factorialNumber = 1; 

    int.TryParse(numberInputTextBox.Text, out userNumber); 

    if (userNumber > 0) 
    { 
     for (int countFactorial = 1; countFactorial <= userNumber; countFactorial++) 
     { 
      factorialNumber *= countFactorial; 
     } 

     MessageBox.Show(userNumber + "! = " + factorialNumber.ToString("n0")); 
     resetButton.Focus(); 
    } 
    else 
    { 
     MessageBox.Show("The factorial value entered must be an integer."); 
     numberInputTextBox.Text = ""; 
     numberInputTextBox.Focus(); 
    } 
} 

回答

1

你可以把從1號碼通過userNumberList<int> nums(例如),然後使用var numsStr = string.Join(" x ", nums);獲得字符串1 x 2 x 3 x 4

例子:
if (userNumber > 0) 
    { 
     List<int> nums = new List<int>(); 
     for (int countFactorial = 1; countFactorial <= userNumber; countFactorial++) 
     { 
      factorialNumber *= countFactorial; 
      nums.Add(countFactorial); 
     } 

     var numsStr = string.Join(" x ", nums);    
     var result = string.Format("{0} ! = {1} = {2}", userNumber, numsStr, factorialNumber.ToString("n0")); 
     MessageBox.Show(result); 
     resetButton.Focus(); 
    }