蓝桥杯真题之凑算式(java)

【题目】 
  B   DEF 
A + —- + ——– = 10 
  C   GHI

这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。(比赛时,题目有改动)

比如: 
6+8/3+952/714 就是一种解法, 
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法? 
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

实现代码

package 蓝桥杯;

public class 凑算式 {

    public static void main(String[] args) throws Exception
    {
        double a,b,c,count=0;
        for(int A=1;A<=9;A++)
        {
             a=A;
                
                for(int B=1;B<=9;B++)
                {
                    for(int C=1;C<=9;C++)
                    {
                        b=B*1.00/C;
                        for(int D=1;D<=9;D++)
                        {
                            for(int E=1;E<=9;E++)
                            {
                                for(int F=1;F<=9;F++)
                                {
                                    for(int G=1;G<=9;G++)
                                    {
                                        for(int H=1;H<=9;H++)
                                        {
                                            
                                            for(int I=1;I<=9;I++)
                                            {
                                                c=(D*100+E*10+F)*1.00/(G*100+H*10+I);
                                                int[]kk=new int[10];//用来检验是否9个数是否有重复
                                                kk[A]++;kk[B]++;kk[C]++;kk[D]++;kk[E]++;kk[F]++;
                                                kk[G]++;kk[H]++;kk[I]++;
                                                for(int i=1;i<=9;i++)
                                                {
                                                    if(kk[i]!=1) break;
                                                    if(i==9&&a+b+c==10)
                                                        count++;
                                                }
                                                for(int j=1;j<10;j++)
                                                {
                                                    kk[j]=0;
                                                }
                                            }
                                        }
                                        
                                    }
                                }
                            }
                        }
                    }
                
            }
                
            
        }
        System.out.println(count);
        
    }

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值