第七届蓝桥杯大赛个人赛省赛(软件类)java语言B组第三题:凑算式

时间:2022-09-10 08:57:16

一、题目

凑算式


     B      DEF
A + --- + ------- = 10
     C      GHI
     
(如果显示有问题,可以参见【图1.jpg】)  
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

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

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

二、源代码

package com.c;/*特别注意:一个整形变量除于一个整形变量 得到的结果也是一个整形变量,系统会自动转换,例如1/2输出就等于0
              解决办法:将俩个变量都设为浮点数,则结果不变*/
public class LanQiao73 {


public static void main(String[] args)
{
float A,B,C,D,E,F,G,H,I;//定义九个浮点数
float sum;
int num=0; //num用来记录满足条件的次数
for(A=1;A<10;A++)//定义第一for循环,A取值是1到9
{
for(B=1;B<10;B++)//定义第二个for循环,B取值是1到9
{
for(C=1;C<10;C++)//定义第三个for循环,C取值是1到9
{
for(D=1;D<10;D++)
{
for(E=1;E<10;E++)
{
for(F=1;F<10;F++)
{
for(G=1;G<10;G++)
{
for(H=1;H<10;H++)
{
for(I=1;I<10;I++)
{


if(A!=B&&A!=C&&A!=D&&A!=E&&A!=F&&A!=G&&A!=H&&A!=I)//判断A是否与其他字母相同
{
if(B!=C&&B!=D&&B!=E&&B!=F&&B!=G&&B!=H&&B!=I)//判断B是否与其他字母相同
{
if(C!=D&&C!=E&&C!=F&&C!=G&&C!=H&&C!=I)//判断C是否与其他字母相同
{
if(D!=E&&D!=F&&D!=G&&D!=H&&D!=I)
{
if(E!=F&&E!=G&&E!=H&&E!=I)
{
if(F!=G&&F!=H&&F!=I)
{
if(G!=H&&G!=I)
{
if(H!=I)
{


sum=A+B/C+(D*100+E*10+F)/(G*100+H*10+I);//当满足上诉所有条件(A-E取值为1-9,并且不相同)则计算sum
if(sum==10)
{
num++;

}
}
}
}
}
}
}
}


  }
}
}
}
}
}
}
}
}
}
System.out.println(num);//输出num
}
}

三、运行结果

29