设计算法10X9X8X7X6X5X4X3X2X1+8X7X6X5X4X3X2X1X7X6X5X4X3X2X1 5

 我来答
嘟世零5323
2011-09-13 · TA获得超过1605个赞
知道答主
回答量:255
采纳率:0%
帮助的人:149万
展开全部

9x8x7x6x5x4x3x2x1=362880
冒泡排序算法不算优化,但是易于理解。排在第一位的数依次和排在后面的数比较,如果后者较大,则两个数交换位置,(这样,在比较过的数里,位于第一的数总是最大的)。如果是10个数,那第一轮要比9次,即位于第1的数和位于第2、3、4、5、6、7、8、9、10位的数比。第一轮结束后,最大的数排在了第一位。然后拿位于第二位的数和后面的数比较。如果是10个数排序,第二轮要比8次。依此类推。长度为10的线性表要比较362880次。
题目本身有不准确的地方,冒泡排序无所谓“最坏”或“最好”的情况,都要比较那么多次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ymiqplgao
2011-09-12 · TA获得超过646个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:390万
展开全部
package thread.jiecheng;

// 设计算法10! + 9! + 8! +...+2! + 1!
public class Chengfa {
public static long init = 10;
public long result = 0;
public static void main(String[] args) {
Chengfa cf = new Chengfa();
cf.jiaCheng(init);
System.out.println("result:" + cf.result);
}
private long jieCheng(long n) {
if (n < 0) {
System.out.println("error:乘数不能为负数...");
}
if (n == 0) {
return 1;
}
return n * jieCheng(n - 1);
}
public long jiaCheng(long max) {
for (long i = max; i > 0; i--) {
long temp = jieCheng(i);
System.out.println(i + "! = " + temp);
this.result = this.result + temp;
}
return this.result;
}
}

10! = 3628800
9! = 362880
8! = 40320
7! = 5040
6! = 720
5! = 120
4! = 24
3! = 6
2! = 2
1! = 1
result:4037913
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式