Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
41
Task/Hailstone-sequence/Batch-File/hailstone-sequence-1.bat
Normal file
41
Task/Hailstone-sequence/Batch-File/hailstone-sequence-1.bat
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
echo.
|
||||
::Task #1
|
||||
call :hailstone 111
|
||||
echo Task #1: (Start:!sav!)
|
||||
echo !seq!
|
||||
echo.
|
||||
echo Sequence has !cnt! elements.
|
||||
echo.
|
||||
::Task #2
|
||||
call :hailstone 27
|
||||
echo Task #2: (Start:!sav!)
|
||||
echo !seq!
|
||||
echo.
|
||||
echo Sequence has !cnt! elements.
|
||||
echo.
|
||||
pause>nul
|
||||
exit /b 0
|
||||
|
||||
::The Function
|
||||
:hailstone
|
||||
set num=%1
|
||||
set seq=%1
|
||||
set sav=%1
|
||||
set cnt=0
|
||||
|
||||
:loop
|
||||
set /a cnt+=1
|
||||
if !num! equ 1 goto :eof
|
||||
set /a isodd=%num%%%2
|
||||
if !isodd! equ 0 goto divideby2
|
||||
|
||||
set /a num=(3*%num%)+1
|
||||
set seq=!seq! %num%
|
||||
goto loop
|
||||
|
||||
:divideby2
|
||||
set /a num/=2
|
||||
set seq=!seq! %num%
|
||||
goto loop
|
||||
23
Task/Hailstone-sequence/Batch-File/hailstone-sequence-2.bat
Normal file
23
Task/Hailstone-sequence/Batch-File/hailstone-sequence-2.bat
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
@echo off
|
||||
setlocal enableDelayedExpansion
|
||||
if "%~1"=="test" (
|
||||
for /l %%. in () do (
|
||||
set /a "test1=num %% 2, cnt=cnt+1"
|
||||
if !test1! equ 0 (set /a num/=2 & if !num! equ 1 exit !cnt!) else (set /a num=3*num+1)
|
||||
)
|
||||
)
|
||||
|
||||
set max=0
|
||||
set record=0
|
||||
|
||||
for /l %%X in (2,1,100000) do (
|
||||
set num=%%X & cmd /c "%~f0" test
|
||||
if !errorlevel! gtr !max! (set /a "max=!errorlevel!,record=%%X")
|
||||
)
|
||||
set /a max+=1
|
||||
|
||||
echo.Number less than 100000 with longest sequence: %record%
|
||||
echo.With length %max%.
|
||||
pause>nul
|
||||
|
||||
exit /b 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue