1、编写一个Java程序,计算并输出1+2!+3!+…+10!的值。

 我来答
左自强
2011-10-10 · TA获得超过385个赞
知道小有建树答主
回答量:528
采纳率:0%
帮助的人:347万
展开全部
public class jiecheng {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int sun=0;
int jc=1;
for(int i=1;i<=10;i++)
{
jc=jc*i;
sun+=jc;
}
System.out.print(sun);
}

}
解释:
当i=1;进行第一次循环 jc=jc*i=1*1=1=1!,sun+=jc=0+1=1!;
当i=2;进行第二次循环,jc=jc*i=1*2=2!,sun+=jc=1!+2!=3;
当i=3,进行第三次循环,jc=jc*i=2!*3=3!,sum=1!+2!+3!=9.
一次类推
baungham
2011-10-10 · TA获得超过123个赞
知道答主
回答量:57
采纳率:0%
帮助的人:35万
展开全部
public static void main(String[] args) {
int res = factorialSum(10);
System.out.println(res);
}

public static int factorialSum(int num) {//求和
int res = 0;
for (int i = 1; i <= num; i++) {
res += factorial(i);
}
return res;
}

public static int factorial(int num) {//每个数的阶乘
int result = 1;
for (int i = 1; i <= num; i++) {
result = result * i;
}

return result;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TSDDB2
2011-10-10 · TA获得超过406个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:256万
展开全部
上面的方法全部本质一样,时间复杂度都为O(N^2),没本质区别,随便用一个就行了。你想速度快的把复杂度降为O(N)的就用个数组把阶乘结果保留,最后加法运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzw1000
推荐于2018-02-28 · TA获得超过7580个赞
知道大有可为答主
回答量:3059
采纳率:0%
帮助的人:844万
展开全部
test
{
public static void main(String args[])
{
long sum=0,a=1;
long i=1;
while(i<=10)
{
if(i>=1)
sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友60c0594194
2011-10-10 · 超过21用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:64.1万
展开全部
int sum=0;
for(int n=1;n<10;n++)//1--10 10个数
{
jc=1;
for(int i=1;i<=n;i++)//每个算阶乘
{
jc=jc*i;
}
sum+=jc;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式