求解释简单Java程序,题目是: 计算1+2!+3!+4!......从第10项到第20项之和

publicclasstest2{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1;inti=1;while(i<=2... public class test2
{
public static void main(String args[])
{
double sum=0,a=1;
int i=1;
while(i<=20)
{
if(i>=10)
sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
可以运行,只是不清楚里面的阶层通项为什么是这么表示的,求各路好手不吝赐教。。菜小鸟本人感激不尽。。。
第十项不是10!吗,a怎么赋值是1的呢?还有那个阶层通项为什么这样表示?
展开
 我来答
Tidus_forever
2012-01-04 · TA获得超过4399个赞
知道大有可为答主
回答量:2782
采纳率:100%
帮助的人:1858万
展开全部
a是拿来计算第n项的,初始值设为1 ,因为后面要用乘法计算每一项。
第一项 i=1 a=a*i; 于是 a=1
第二项 i=2 a=a*i; 于是,a在1的基础上,乘以2
第三项 i=3 a=a*i; 于是,a在 1*2的基础上,再乘以3
第四项 i=4 a=a*i; 于是,a在 1*2*3的基础上,再乘以4
……
第九项 i=9 a=a*i; a=9!
第十项 i=10 a=10!
第十一项 i已经大于等于10 sum加上a的值,即10! i自增为11 计算a=11!
第十二项 i 大于等于10 sum再加上a的值,即11!i 自增为12 计算a=12!
……
追问
恍然大悟。。。应该不用break语句了吧?2楼说要,不是有条件限制了吗?还有哦,a = a*i不是在i >= 10的时候才用的?唉,看来我还是对if语句理解有误。。。。杯具。。。
小曲曲去哪儿
2012-01-04 · TA获得超过147个赞
知道答主
回答量:69
采纳率:0%
帮助的人:53.6万
展开全部
阶乘的算法就是一个递归,a=a*i;
这个就是一个递归,前面是计算总和, sum=sum+a;
double sum=0,a=1;
这句话别这么用:应该为int sum=0,a=1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linhaoxuan2011
2012-01-04 · 超过18用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:42.8万
展开全部
其实你这样做结果是对的,但是按照题的思路 你这样做不妥,为什么?因为1+2!+3!+4!......
这个代表这是无限循环, 所以用无限循环来做这一题, 你确实把他固定在循环20项,这样会被扣分的, 我建议用无限循环,然后到了第20项break 跳出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逗乐的小菜鸟
2012-01-04 · TA获得超过401个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:179万
展开全部
j就是个简单的 循环语句啊 每次循环 从第十项开始到 20项结束
追问
阶层通项为什么是这么表示的?  10!~20!之和
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1248b11
2012-01-04 · TA获得超过192个赞
知道答主
回答量:26
采纳率:100%
帮助的人:9.7万
展开全部
public class Test2
{
public static void main(String args[])
{
double sum=0,a=1;
int i=1;
while(i<=20)//因为求的最大数的是20的阶层
{
if(i>=10)//判断当从第十项开始相加
sum=sum+a;//如果是前9项这行代码不执行
i++;//跳到下一个数去
a=a*i;//计算i的阶层,因为i的阶层等于i-1的阶层乘以i
}
System.out.println("sum="+sum);
}
}
更多追问追答
追问
a=a*i不是i>=10才用的吗
追答
不是,是一直有用,只有sum=sum+a才是,你要知道这个if语句没有加括号,说明它只能作用后面的一句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式