蓝桥杯javaB组--凑算式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蓝桥杯javaB组--凑算式
凑算式
B DEF
A + --- + ------- = 10
C GHI
(如果显⽰有问题,可以参见【图1.jpg】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
⽐如:
6+8/3+952/714 就是⼀种解法,
5+3/1+972/486 是另⼀种解法。
这个算式⼀共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性⽂字。
/**
* @author余正红
* 2019年12⽉6⽇
*/
package蓝桥杯真题;
import java.util.concurrent.CountDownLatch;
public class凑算式
{
/**
* @param args
*/
static int [] art = {1,2,3,4,5,6,7,8,9};
static int [] brt = new int[9];
public static int count = 0;
public static void print()//输出结果
{
for(int i=0;i<9;i++)
{
System.out.print(art[i]+" ");
}
System.out.println();
}
public static void sum()
{
int a = art[0];
int b = art[1];
int c = art[2];
int def = art[3]*100+art[4]*10+art[5];
int ghi = art[6]*100+art[7]*10+art[8];
double sum = (double)a+((double)(b*ghi+c*def))/(c*ghi);//通分
if(sum == 10.0)
{
print();//输出满⾜条件的式⼦
count++;
}
}
public static void swap(int size)//全排列
{
if(size == 0)
{
sum();
return;
}
else {
for(int i=0;i<=size;i++)
{
int t = art[i];
art[i]=art[size];
art[size] = t;
swap(size-1);
t = art[i];
art[i] = art[size];
art[size] = t;
}
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub swap(8);
//print();
}
}。