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

批处理求1-10000以内的所有水仙花数?

[复制链接]
发表于 2011-7-5 16:21:42 | 显示全部楼层
我受不了了!看不懂啊!
对于3楼的:
set "u1="
set /a a=%%i/10000
这两个是干什么用的。尤其是第二个这为什么可以啊。比如1这个数。a=1/10000这。。。

对于8楼:
如果只有1位数的话那么有的变量就是空的怎么计算啊?还有后面的那个:set /a aa=a*a*a+b*b*b+c*c*c+d*d*d+e*e*e
怎么使用变量时不要用到!!啊?可是的的确确代码可以   
我晕死了!
发表于 2011-7-5 19:01:21 | 显示全部楼层
16# BS0小陈


set /a 支持多条算式,所以自带解释变量的功能,引用变量时可以直接使用变量名无需经过 cmd 预处理,但是当引用的变量名以数字开头时会出错
发表于 2011-8-8 16:23:56 | 显示全部楼层
竟然发错位置了,一会儿再来解决这个问题。
发表于 2011-8-8 18:57:09 | 显示全部楼层
本帖最后由 scarcr 于 2011-8-8 18:58 编辑

回复 5# lhjoanna


我的问题跟你一样,也同样希望谁可以帮忙解决一下。
我在每一步添加”echo number&pause”,
最后发现是在运行了一次goto XXXX之后跳出了循环,我分析原因应该是在for的一次完整循环中只能运行一次goto命令
我的代码是这样子的,感觉咱们原因也应该是一样的

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (0,1,9) do (set/a #%%i=%%i*%%i*%%i)
  3. for /l %%i in (1,1,10000) do (
  4.         set "nu=%%i"
  5.         for /l %%j in (1,1,5) do (
  6.         set a=!nu:~,1!
  7.         set/a num+=#!a!
  8.         set nu=!nu:~1!
  9.         if "!nu!"=="" goto A
  10.         )
  11.         :A
  12.         if !num!==%%i echo (%%i是水仙花数)
  13.         )
  14. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:10 , Processed in 0.016390 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表