中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 11:30
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 雷劈数的算法 查看 1,030 回复 4
楼 主 雷劈数的算法 发表于 2007-08-03 17:10 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
小弟在榕哥论坛看到一篇涉及到雷劈数的帖子

http://bbs.netxeyes.org/viewthread.php?tid=700&extra=page%3D1

哪位兄弟愿意写个求雷劈数的bat??
2 发表于 2007-08-03 18:06 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
3 谢谢zh159兄 发表于 2007-08-03 20:44 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
可惜偶太菜了,编不出
4 发表于 2007-08-04 00:21 ·  中国 湖南 娄底 冷水江市 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
查找雷劈数,用批处理可是可以就是效率太慢了,
最小雷劈数是81,就从81开始,到10000代码如下,
若还想增加位数,第二句for的数字也要同时增加.


@echo off
set num=
setlocal EnableDelayedExpansion
for /l %%a in (81 1 10000) do (
set shu=%%a
set/p=!shu! <nul
set/p=!num! <nul
for /l %%b in (1 1 4) do (
set qian=!shu:~0,%%b!
set hou=!shu:~%%b!
call :lis
set hou=!hou:b=!
set/a he=!qian!+!hou!
set/a jie=!he!*!he!
if !jie! equ %%a (
set var=^(!qian! + !hou! = !he!^) ^(!he! * !he!^) = !jie!
echo !var!
)))
echo\&echo 查找完毕......按任意键退出...
pause>nul
goto :eof
:lis
set hou=%hou%b
:loop
if %hou%==b set hou=0&goto :eof
if %hou:~0,1% equ 0 set hou=%hou:~1%&goto loop
goto :eof


[ Last edited by 26933062 on 2007-8-4 at 12:23 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
dy2003310 +2 2007-08-04 10:52
5 发表于 2007-08-04 10:55 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
哇!!!
太好了!!!
26933062 强!!!
论坛跳转: