我想批量編碼collatz猜想測試(這是數學的東西)。文件的要點是要測試一個數字是否是偶數,以及它是否除以二。如果數字是奇數,則應該乘以3並加1。這應該一遍又一遍地循環。每次我嘗試運行這個文件時,它都允許我輸入數字,然後它說'+此時是意外的。這裏有什麼錯誤?批+'意外'錯誤
@echo off
color f0
title Collatz Conjecture Tester
echo/
echo Enter the number you want to test.
echo/
echo/
set /p number=
:start
set /a test=%number% %% 2
if %test% EQU 0 (
set /a number=%number% * 1/2
) else (
set /a number=(%number% * 3) + 1
)
echo/
echo Result: %number%
timeout /t 1 >nul
goto start
值得一提的是,在批次中的所有數字簽名的32位整數,所以您的代碼將接受最大輸入爲2147483647,甚至你的代碼的'3N + 1'部分意味着將有一個整數溢出結果會變成負面的。 – SomethingDark