设计算法10X9X8X7X6X5X4X3X2X1+8X7X6X5X4X3X2X1X7X6X5X4X3X2X1 5
2个回答
展开全部
9x8x7x6x5x4x3x2x1=362880
冒泡排序算法不算优化,但是易于理解。排在第一位的数依次和排在后面的数比较,如果后者较大,则两个数交换位置,(这样,在比较过的数里,位于第一的数总是最大的)。如果是10个数,那第一轮要比9次,即位于第1的数和位于第2、3、4、5、6、7、8、9、10位的数比。第一轮结束后,最大的数排在了第一位。然后拿位于第二位的数和后面的数比较。如果是10个数排序,第二轮要比8次。依此类推。长度为10的线性表要比较362880次。
题目本身有不准确的地方,冒泡排序无所谓“最坏”或“最好”的情况,都要比较那么多次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
// 设计算法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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询