[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[练习]批处理实现角谷猜想

日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。
  猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。

用批实现验证吗?(附上演算过程)

原帖由 pusofalse 于 2008-9-14 16:02 发表
@echo off&setlocal enabledelayedexpansion
set/p num=Input a numeric:
:loop
set/a mod=num%%2,x+=1
if %mod% equ 1 (
    set "_%x%=!num! * 3 + 1"
    set/a num=num*3+1
    set "_%x%=!_%x%! = !num ...


版主的不错哦
和我的思路一样...

TOP

原帖由 slore 于 2008-9-14 23:43 发表
没人用&运算?比%快嗬


slore讲解下吧...

TOP

我的答案
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :1
  4. set  num=%random%%random%%random%
  5. :a
  6. set num1=%num%
  7. if %num% equ 1 (echo OK!&pause&goto :1)
  8. set /a v=%num%%%2
  9. if %v% equ 0 (set /a num=%num%/2&echo %num1%/2=!num!) else (set /a num=%num%*3+1&echo %
  10. num1%*3+1=!num!)
  11. pause>nul&goto :a
复制代码

TOP

没看懂...
(deci) 1000 ----> (bin) 1111101000
(deci) 64     ----> (bin) 0001000000
这里是什么意思?
转为二进制?

[ 本帖最后由 qq641255849 于 2008-9-15 20:59 编辑 ]

TOP

返回列表