天天看點

代碼改變世界,随手寫了點代碼解決了一個國小生級别的作業題,程式設計要從娃娃抓起

代碼改變世界,随手寫了點代碼解決了一個國小生級别的作業題,程式設計要從娃娃抓起

 偶然間發現一道國小生級别的作業題,發現很适合寫點代碼來得到結果。于是乎有了本篇文章。

代碼改變世界,程式一秒鐘不到就得出正确結果了。程式設計要從娃娃抓起。

代碼改變世界,随手寫了點代碼解決了一個國小生級别的作業題,程式設計要從娃娃抓起

題目

1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             //使用計時器記錄所耗時間
 6             Stopwatch stopwatch = new Stopwatch();
 7             stopwatch.Start();
 8 
 9             TryIt();
10 
11             stopwatch.Stop();
12 
13             Console.WriteLine("耗時:" + stopwatch.ElapsedMilliseconds.ToString() + "毫秒");
14             Console.ReadKey();
15 
16         }
17 
18         private static void TryIt()
19         {
20             Console.WriteLine("猜字母代表的數字");
21             Console.WriteLine("D + (C * 10 + D) + (B * 100 + C * 10 + D) + (A * 1000 + B * 100 + C * 10 + D) == 5678");
22 
23             //定義ABCD四個變量
24             int A = 0;
25             int B = 0;
26             int C = 0;
27             int D = 0;
28 
29             //進行4組循環
30             for (int i = 0; i < 10; i++)
31             {
32                 A = i;
33                 for (int j = 0; j < 10; j++)
34                 {
35                     B = j;
36                     for (int k = 0; k < 10; k++)
37                     {
38                         C = k;
39                         for (int l = 0; l < 10; l++)
40                         {
41                             D = l;
42 
43                             //判斷是否滿足等式的條件
44                             if (D + (C * 10 + D) + (B * 100 + C * 10 + D) + (A * 1000 + B * 100 + C * 10 + D) == 5678)//加法模式的等式
45                             //if ((A*1000)+(2*B*100)+(3*C*10)+4*D==5678)//乘法模式的等式 和加法模式結果一樣
46                             {
47                                 //因ABCD分别代表不同的字母,是以字母各不相同
48                                 if (A != B && A != C && A != D && B != C && B != D && C != D)
49                                 {
50                                     Console.WriteLine("--------------------------");
51                                     Console.WriteLine("A=" + A);
52                                     Console.WriteLine("B=" + B);
53                                     Console.WriteLine("C=" + C);
54                                     Console.WriteLine("D=" + D);
55                                 }
56                             }
57                         }
58                     }
59                 }
60             }
61             Console.WriteLine("--------------------------");
62             Console.WriteLine("結束");
63         }
64 
65     }      

C#代碼實作 使用暴力破解的方法得出各字母的結果,計算機最主要的作用就是用來執行計算任務的。

代碼改變世界,随手寫了點代碼解決了一個國小生級别的作業題,程式設計要從娃娃抓起

 代碼運算結果

A=4

B=7

C=9

D=2