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

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

小明最近喜欢搭数字积木,
一共有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);
}}

 

标签:
分享到:
赞(0) 打赏

评论 5

评论前必须登录!

 

  1. #1

    可以

    笨鸟先飞6个月前 (03-27)
  2. #2

    记住这个网站了

    奋斗6个月前 (03-28)
  3. #3

    还可以

    小蚯蚓4个月前 (05-26)
  4. #4

    以后多多交流

    hello4个月前 (05-26)
  5. #5

    不错

    我也是渣渣4个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00