[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. :hanye
  3. set/a n+=1,a=n*n*n
  4. if %a% lss 1000 goto:hanye
  5. if %a% leq 9999 (setlocal enabledelayedexpansion
  6. set/a b=n*a&if !b! geq 100000 if !b! leq 999999 (set c=%a%!b!
  7. for /l %%i in (0,1,9) do set !c:~%%i,1!==
  8. for /l %%i in (0,1,9) do if not defined %%i set set==
  9. if not defined set echo.%n%&endlocal)
  10. goto:hanye)
  11. pause
复制代码

[ 本帖最后由 hanyeguxing 于 2010-4-14 19:23 编辑 ]
1

评分人数

    • lxzzr: 第一个,加分鼓励PB + 4
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

个人认为set n=9不适合写在批处理里,这样失去了求解的意义
那不如直接开始就for /l %%i in (10,1,21) do...了

[ 本帖最后由 hanyeguxing 于 2010-4-14 22:05 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

原帖由 523066680 于 2010-4-14 22:06 发表
有点道理的,不过还行吧。
nerobin的位数判断部分很严密啊。1 到 9 就是多9个判断+跳转。

不过我还这样认为,0*0*0 ,1*1*1 ,2*2*2,3*3*3  不能构成4位数,是一件明显的事情
于是思想中跳跃地推到10*10*10 刚好 ...

我们不适合用自己的熟悉运算结果来替代批处理的运算过程,个人观点而已。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

因为 n 的3次方为4位数,所以 n 的范围为10到21
因为 n 的4次方为6位数,所以 n 的范围为18到31
所以 n 的交集范围为18到21
尾数为0、1、5、6的数字,其3次方与4次方尾数全相同,所以排除20、21,剩余18、19。
因为20的4次方为160000,所以19的4次方首位为1,又因为19的尾数为9,其4次方的尾数也为1,重复,所以这个数字只能是18。。。。。。好象没批处理什么事了,闪,免得挨砖头,嘿嘿

[ 本帖最后由 hanyeguxing 于 2010-4-14 23:29 编辑 ]
2

评分人数

    • lxzzr: 正是想要的思路,加分PB + 8
    • neorobin: 数学题还是用数学解了PB + 6
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

穷举累的是机器,又不是我,我不心疼,嘿嘿。。。有版聊之嫌,闪。。。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表