[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
任意一个奇数 n*3+1后都必将是个偶数。
好像只需求证出这一步就可以了。
心绪平和,眼藏静谧。

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set/p num=Input a numeric:
  3. :loop
  4. set/a mod=num%%2,x+=1
  5. if %mod% equ 1 (
  6.     set "var=!num! * 3 + 1"
  7.     set/a num=num*3+1
  8.     set "var=!var! = !num!"
  9.     ) else (
  10.     set "var=!num! / 2"
  11.     set/a num/=2
  12.     set "var=!var! = !num!"
  13. )
  14. echo    %x%:   !var!
  15. if %num% neq 1 goto loop
  16. pause
复制代码

[ 本帖最后由 pusofalse 于 2008-9-15 19:39 编辑 ]
心绪平和,眼藏静谧。

TOP

回复 6楼 的帖子

高,按位相与。。。
心绪平和,眼藏静谧。

TOP

回复 9楼 的帖子

按位相与可以理解为对应位上有0则0,“与”大概就是乘的意思。
set/a n=1000"&"64
(deci) 1000 ----> (bin) 1111101000
(deci) 64     ----> (bin) 0001000000
---------------------------------------
      1111101000
(&) 0001000000
-------------------------
      0001000000

(bin) 0001000000 -----> (deci) 64
所以n的值是64.

[ 本帖最后由 pusofalse 于 2008-9-15 18:42 编辑 ]
心绪平和,眼藏静谧。

TOP

deci(mal)十进制 bin(ary)二进制
10进制数1000,转为2进制就是1111101000
心绪平和,眼藏静谧。

TOP

返回列表