java算法 第七屆 藍橋杯B組(題+答案) 3.湊算式


3.湊算式  (結果填空)

     B      DEF
A + --- + ------- = 10
     C      GHI
         
(如果顯示有問題,可以參見【圖1.jpg】)
 
這個算式中A~I代表0~9的數字,不同的字母代表不同的數字。

比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
注意:你提交應該是個整數,不要填寫任何多余的內容或說明性文字。

提醒:此題雖然可以用暴力破解去解決,但是要注意DEF和GHI分別是一個三位數,不能拆開當成一個個數字去乘;還有為了避免分母不為0的情況盡量將分式轉化為整式。(或者B和DEF乘以1.0轉化為double,然后可以直接除以C和GHI了)

 1 public class _3湊算式 {
 2     public static void main(String[] args) {
 3         int sum = 0;
 4         for (int a = 1; a < 10; a++) {
 5             for (int b = 1; b < 10; b++) {
 6                 for (int c = 1; c < 10; c++) {
 7                     for (int d = 1; d < 10; d++) {
 8                         for (int e = 1; e < 10; e++) {
 9                             for (int f = 1; f < 10; f++) {
10                                 for (int g = 1; g < 10; g++) {
11                                     for (int h = 1; h < 10; h++) {
12                                         for (int i = 1; i < 10; i++) {
13                     if ((a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i)&&
14                             (b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i)&&
15                             (c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i)&&
16                             (d!=e&&d!=f&&d!=g&&d!=h&&d!=i)&&
17                             (e!=f&&e!=g&&e!=h&&e!=i)&&
18                             (f!=g&&f!=h&&f!=i)&&
19                             (g!=h&&g!=i)&&
20                             (h!=i)) {
21                         int shang = d*100+e*10+f;
22                         int xia = g*100+h*10+i;
23                         if (((a*c*xia)+(b*xia)+(shang*c)) -(10*c*xia) ==0) {
24                             sum++;
25                         }
26                     }                    
27                                         }
28                                         
29                                     }
30                                     
31                                 }
32                                 
33                             }
34                             
35                         }
36                     }
37                 }
38                 
39             }
40         }
41         System.out.println(sum);
42     }
43 }

運行結果:29

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM