中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [原创]*****猫吃鼠***** 上一主题 | 下一主题
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『楼 主』:  [原创]*****猫吃鼠*****


@echo off
setlocal enabledelayedexpansion
::::::::::::::::::::::::::::      猫吃鼠      ::::::::::::::::::::::::::::
::::::::::::::::::::::::::::{s11ss  2007-9-24}::::::::::::::::::::::::::::
echo 问题:
echo x只老鼠围成一圈,花猫从第一只开始数,数到y或y的倍数就吃掉,问每一次吃掉的是站在第几个位置上的老鼠?
set/p x=请输入x的值:
set/p y=请输入y的值:
for /l %%i in (1,1,%x%) do (
        set n%%i=False
)
set/a r=%x%
set/a xx=%x%+1
set/a seq=1
set/a counter=1
set f=
set /p w=是否将解决方案写入到文件%x%_%y%_CatEatRat.txt?(y/n):
echo 计算中...
if not %w% equ y (if not %w% equ Y (goto :main))
cd.>%x%_%y%_CatEatRat.txt
set f=^>^>%x%_%y%_CatEatRat.txt
:main
%f% echo 第 * 次吃掉的是站在第 * 个位置上的老鼠:
:out
if !r! gtr 0 (
        set/a flag=1
:in
        if !flag! leq %y% (
                if !n%seq%! equ False (set/a flag+=1)
                if %seq% equ %xx% set/a seq=0
                set/a seq+=1
                goto :in
        )
        set/a seq-=1
        set n%seq%=True
        set/a r-=1
       
%f% echo    %counter%==================%seq%
        set/a counter+=1
        goto :out
)
echo 方案已解决。
echo 按任意键退出...
pause>nul


2007-9-24 13:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
123cainiao
初级用户





积分 97
发帖 41
注册 2007-8-30
状态 离线
『第 2 楼』:  

牛!
这样的问题,需要学习算法,实际上还有一些类似的问题:
比如:6555--9555里一共有多少个含数字“6”且能被3整除 的数字?

2007-9-24 14:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: