亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下我都改成這樣了, 算出來等于-513022711 對不對? c#里面數的階乘怎么表示?

以下我都改成這樣了, 算出來等于-513022711 對不對? c#里面數的階乘怎么表示?

C# C
HUWWW 2022-06-01 11:07:36
s=1!-2!+3!-4!...+19!-20!1!=1x12!=2x13!=3x2x1……要最簡單的c#代碼~ 就比如int s; 要for循環的那種 別弄那種很難的!我們才是入門!下面的是我自己做的,但是我想肯定錯了 只是格式是這樣的!急?。?! 明天上課要講的我簡單說明一下我定義的變量i循環變量 s前20項和 t到第幾項時的值 a就是改變符號的~(我是初學者啦~ 對這個不熟 有些說錯了別笑話我t-t)int i, t=1, s = 0, a = 1;for (i = 1; i <= 20; i++){t = a * i;s = s + t;a = a * (-1);}label1.Text = s.ToString();我這個算出來才-10 那是肯定不對的,最后面是 減去20! 想想得多大一個負數了。。 也許int 還不夠吧- -int i, t=1, s = 0, a = 1;for (i = 1; i <= 20; i++){t = t*(a * i);s = s + t;a = a * (-1);}label1.Text = s.ToString();
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

這里重點其實在于求階乘,我寫了一個函數,用于求階乘,如下:
public long GetJC(int a)
{
if (a == 0 || a == 1)
{
return 1;
}
else
{
return a*GetJC(a-1);
}
}
然后,你的題是:s=1!-2!+3!-4!...+19!-20!
只要階乘解決了,這個問題就OK了,下面是這道題的解決辦法,我是將結果放在文本框中的,你可以根據自己的需要修改:
private void button2_Click(object sender, EventArgs e)
{
double results = 0;
for (int i = 1; i <= 20; i++)
{
results = results + Math.Pow((-1), (i - 1)) * GetJC(i);
}
textBox1.Text = Convert.ToString(results);
}
結果是很大的,結果為:-2.31732329055462E+18


查看完整回答
反對 回復 2022-06-06
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號