1. 程式人生 > 其它 >[藍橋杯2016初賽]湊算式

[藍橋杯2016初賽]湊算式

技術標籤:java刷題

題目描述

在這裡插入圖片描述

這個算式中AI代表19的數字,不同的字母代表不同的數字。
比如:
6+8/3+952/714 就是一種解法,5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
輸出
輸出一個整數表示答案

public class Main {
	static int max=10;
	static double array[]=new double[max];
	static int cnt=0;
	public static void main(String[] args) {
		Main e=new Main();
		e.check(1);
		System.
out.println(e.cnt); } public void check(int n) { if(n==10) { cal(); return; } for(int i=1;i<max;i++) { array[n]=i; if(judge(n)) { check(n+1); } } } public boolean judge(int n) { for(int i=1;i<n;i++) { if(array[n]==array[i]) return false; } return true
; } public void cal() { double first=array[1]; double second=array[2]/array[3]; double third=(array[4]*100+array[5]*10+array[6])/(array[7]*100+array[8]*10+array[9]); if(Math.abs(first+second+third-10)<0.00001) { cnt++; } } }