c#求和1!+2!+3!+4!+.....n!的和?

用c#语言做有点难哦n!这个表达式不知道怎么写usingSystem;classjia{staticvoidMain(){inti;intsum=0;intt=1;int... 用c#语言做 有点难哦 n!这个表达式不知道怎么写
using System;
class jia
{
static void Main()
{
int i;
int sum = 0;
int t = 1;
int n = Console.Read();

for (i = 1; i <= n; i++)
{
t = t * i;
sum = sum + t;
Console.WriteLine(sum);

}

}
}
运行vs2005调试下会不停地循环下去大家也试试看 需要用什么语言来限制一下啊
展开
 我来答
匿名用户
2010-04-08
展开全部
很简单用递归就行了
自己写方法测试一下,你应该看的懂
public int CalculateSum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum += CalculateClass(n);
}

return sum;
}

private int CalculateClass(int n)
{
if (n <= 1) return 1;
return n * CalculateClass(n - 1);
}

这里有个BUG数字不能太大,超出Int.max就会出异常,你可以把int换成decimal

参考资料: 我自己

暴雁菱0e1
2010-04-08 · TA获得超过2003个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:0
展开全部
int sum=0;
int k=1;
for(int i=1;i<=n;i++)
{
k=k*i;
sum+=k;
}
return sum;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d30db49b0
2010-04-08 · TA获得超过602个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:229万
展开全部
Console.Read();
读取的是ASCII码值,要把n-48才可以。
要算48+的阶乘,你要把电脑累死啊 - -!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thcc926
2010-04-08
知道答主
回答量:25
采纳率:0%
帮助的人:16.8万
展开全部
s=0
a=1
i=1
DO
a=a*i
s=s+a
i=i+1
UNTIL i>n
END
PRINT s
主体没问题,连接词可能有些不同,自己调试下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
虢孟聂文昌
2020-01-14 · TA获得超过1104个赞
知道小有建树答主
回答量:1730
采纳率:100%
帮助的人:9.8万
展开全部
(2+1/3)+(4+1/9)+...+(2n+1/3的n次方)
=(2+4+...2n)+(1/3+1/9+...+1/3的n次方)
=n*(n+1)+1/3*(1-1/3的n次方)/((1-1/3)
=n*(n+1)+(1-1/3的n次方)/2
=n²+n+1/2-1/(2*3的n次方)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼捷藏曜儿
2020-01-02 · TA获得超过1194个赞
知道小有建树答主
回答量:356
采纳率:100%
帮助的人:2.2万
展开全部
很简单用递归就行了
自己写方法测试一下,你应该看的懂
public
int
CalculateSum(int
n)
{
int
sum
=
0;
for
(int
i
=
1;
i
<=
n;
i++)
{
sum
+=
CalculateClass(n);
}
return
sum;
}
private
int
CalculateClass(int
n)
{
if
(n
<=
1)
return
1;
return
n
*
CalculateClass(n
-
1);
}
这里有个BUG数字不能太大,超出Int.max就会出异常,你可以把int换成decimal
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式