我想批量编码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