0
2
已采纳
曾凡一
新手光能
新手光能
你的思路首先就有问题,理解错题意了。
n(n+1)...m(m+1)*(m+2)是指n*(n+1)*(n+2)*(n+3)*(n+4)*...*m*(m+1)*(m+2)
如果n与m之间的差值大于3,你就错了。
如果n=1 m=4 按照你的程序则是s=1*1*4*2*5*3*6 "1*"可以忽略,根据乘法分配率,可发现1*4*2*5*3*6=1*2*3*4*5*6 这是巧合,错的!!!!!
如果n=1 m=5 按照你的程序s=1*1*5*2*6*3*7 题意却是s=1*2*3*4*5*6*7 少了乘4 用你的程序算出结果答案是1260,如果按照题目要求答案应该是5040,正好少了乘4。
正确应该是这样
s定义为1
输入n和m
循环从n到m+2,每次s乘上i
输出s
0