Ken 2 dní pred
rodič
commit
1367d302ac
1 zmenil súbory, kde vykonal 46 pridanie a 2 odobranie
  1. 46 2
      app/Http/Controllers/api/Home.php

+ 46 - 2
app/Http/Controllers/api/Home.php

@@ -77,11 +77,55 @@ class Home extends Controller
         return view('home', ['menu' => $menu]);
     }
 
-    public function test()
-    {
+    function getMatchingNumbers($target) {
+        // 定义从1到80的数字
+        $numbers = range(1, 80);
+        $bestMatch = null;
+
+        // 暴力法:随机选取20个不重复数字,并计算对应的3个数字
+        for ($i = 0; $i < 100000; $i++) { // 限制尝试次数,避免死循环
+            shuffle($numbers); // 随机打乱数字
+            $selectedNumbers = array_slice($numbers, 0, 20); // 取前20个数字
+
+            // 按照从小到大的顺序排序
+            sort($selectedNumbers);
+
+            // 计算第一个数字
+            $firstSum = $selectedNumbers[1] + $selectedNumbers[4] + $selectedNumbers[7] + $selectedNumbers[10] + $selectedNumbers[13] + $selectedNumbers[16];
+            $firstDigit = $firstSum % 10; // 取个位数
+
+            // 计算第二个数字
+            $secondSum = $selectedNumbers[2] + $selectedNumbers[5] + $selectedNumbers[8] + $selectedNumbers[11] + $selectedNumbers[14] + $selectedNumbers[17];
+            $secondDigit = $secondSum % 10;
+
+            // 计算第三个数字
+            $thirdSum = $selectedNumbers[3] + $selectedNumbers[6] + $selectedNumbers[9] + $selectedNumbers[12] + $selectedNumbers[15] + $selectedNumbers[18];
+            $thirdDigit = $thirdSum % 10;
+
+            // 计算最终结果
+            $result = $firstDigit + $secondDigit + $thirdDigit;
+
+            // 如果符合目标结果,返回这组数字
+            if ($result === $target) {
+                $bestMatch = $selectedNumbers;
+                break; // 找到一个匹配的结果后,结束循环
+            }
+        }
 
+        return $bestMatch;
+    }
 
+    public function test()
+    {
+        $target = 15;
+        $matchingNumbers = $this->getMatchingNumbers($target);
+        if ($matchingNumbers !== null) {
+            echo "找到的数字是:" . implode(", ", $matchingNumbers);
+        } else {
+            echo "未找到匹配的数字组合。";
+        }
 
+exit();