中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 20:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]*****水仙花数***** 查看 666 回复 0
楼 主 [原创]*****水仙花数***** 发表于 2007-09-24 14:33 ·  中国 北京 电信
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
:::::::::::::::::::::::::::: 水仙花数 ::::::::::::::::::::::::::::
::::::::::::::::::::::::::::{s11ss 2007-9-24}::::::::::::::::::::::::::::
echo 问题:
echo 在100-999这些三位数中,有些数本身等于它百位上数字的立方加上十位上数字的立方加上个位上数字的立方,这样的三位数叫水仙花数。
echo.
echo 计算中...
set str=
for /l %%i in (100,1,999) do (
set/a nb=%%i/100
set/a t1=%%i%%100
set/a nsh=!t1!/10
set/a ng=!t1!%%10
set/a n1=!nb!*!nb!*!nb!
set/a n2=!nsh!*!nsh!*!nsh!
set/a n3=!ng!*!ng!*!ng!
set/a n=!n1!+!n2!+!n3!
if !n! equ %%i set str=!str! %%i
)
echo.
echo 这些数是:
echo !str!
echo 按任意键退出...
pause>nul
论坛跳转: