搭积木 小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9。

2年前 (2019-12-27) 365次浏览 已收录 5个评论

小明最近喜欢搭数字积木,
一共有10块积木,每个积木上有一个数字,0~9。

搭积木规则:
每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。
最后搭成4层的金字塔形,必须用完所有的积木。

下面是两种合格的搭法:

0
1 2
3 4 5
6 7 8 9

0
3 1
7 5 2
9 8 6 4

请你计算这样的搭法一共有多少种?

package seven;
 
public class 搭积木 {
 static Boolean pd(int a,int b) {
  if(b>a)
  return false;
  else
  return true;
 
 }
public static void main(String[] args) {
int l=0;
 for(int a=0;a<=9;a++) {
  for(int b=0;b<=9;b++) {
   if(b==a&&a<b)	continue;
   if(pd(a,b))continue;
   for(int c=0;c<=9;c++) {
    if(c==a||c==b)	continue;
    if(pd(a,c))	continue;
    for(int d=0;d<=9;d++) {
     if(d==a||d==b||d==c)	continue;
     if(pd(b,d))	continue;
     for(int e=0;e<=9;e++) {
      if(e==a||e==b||e==c||e==d)	continue;
      if(pd(b,e))	continue;
      if(pd(c,e))continue;
      for(int f=0;f<=9;f++) {
       if(f==a||f==b||f==c||f==d||f==e)	continue;
       if(pd(c,f))	continue;
       for(int g=0;g<=9;g++) {
        if(g==a||g==b||g==c||g==d||g==e||g==f)	continue;
        if(pd(d,g))	continue;
        for(int h=0;h<=9;h++) {
         if(h==a||h==b||h==c||h==d||h==e||h==f||h==g)	continue;
         if(pd(d,h))	continue;
         if(pd(e,h))continue;
         for(int i=0;i<=9;i++) {
          if(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h)	continue;
          if(pd(e,i))	continue;
          for(int j=0;j<=9;j++) {
           if(j==a||j==b||j==c||j==d||j==e||j==f||j==g||j==h||j==i)	continue;
           if(pd(f,i))	continue;
           if(pd(f,j))continue;
          l++;
 
 
}}}}}}}}}}
 System.out.println(l);
}}

 


渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:搭积木 小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9。
喜欢 (0)

您必须 登录 才能发表评论!

(5)个小伙伴在吐槽
  1. 可以
    笨鸟先飞2020-03-27 14:17
  2. 记住这个网站了
    奋斗2020-03-28 17:33
  3. 还可以
    小蚯蚓2020-05-26 09:13
  4. 以后多多交流
    hello2020-05-26 09:40
  5. 不错
    我也是渣渣2020-05-26 10:26