中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 22:28
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论][探讨] 用批处理作趣味数学题 精华I 查看 36,413 回复 139
121 发表于 2007-06-27 23:00 ·  中国 广东 深圳 电信
新手上路
积分 12
发帖 5
注册 2007-06-27 20:29
19年会员
UID 92533
性别 男
状态 离线
支持这样的贴子~~~~强
122 发表于 2007-06-30 11:46 ·  中国 山东 淄博 联通
中级用户
★★
积分 272
发帖 99
注册 2006-06-02 09:12
20年会员
UID 56414
状态 离线
第16题

p是质数,且p×p+1也是质数。求2006×p。解决方案:暂无


先说p*p+1不能是2,这样的话 p=1,不是质数

假设p是奇数,那么p*p也是奇数,p*p+1就是偶数,并且p*p+1是质数,又不是二,这是不可能的

因此p是偶数,又 p是质数,因此p=2

2006*2=?
123 发表于 2007-06-30 18:34 ·  中国 上海 电信
新手上路
积分 4
发帖 2
注册 2007-06-30 18:00
19年会员
UID 92787
性别 男
状态 离线
很高
124 发表于 2007-07-08 00:51 ·  中国 河南 濮阳 联通
初级用户
积分 47
发帖 24
注册 2006-10-22 00:31
19年会员
UID 67599
性别 男
状态 离线
大家都太强了啊,佩服
125 发表于 2007-08-20 18:04 ·  中国 江西 吉安 电信
初级用户
积分 41
发帖 20
注册 2007-03-05 00:45
19年会员
UID 80788
性别 男
状态 离线
第一题求水仙花数的简便方法:
@echo off && setlocal enabledelayedexpansion
for /l %%i in (100 1 999) do (
set tin=%%i
set /a ton=!tin:~0,1!*!tin:~0,1!*!tin:~0,1!+!tin:~1,1!*!tin:~1,1!*!tin:~1,1!+!tin:~-1!*!tin:~-1!*!tin:~-1!
if !tin! equ !ton! (
echo %%i
)
)
pause>nul

[ Last edited by 3dnowex on 2007-8-20 at 06:08 PM ]
126 新题目来了. 发表于 2007-08-21 12:15 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
#
求1000以内的完数.
所谓完数:
例如:
6
2*3=6
2+3+1=6
只要符合上述两要求就可以了.(第二条件是+1不可少的)

{
??????
}
127 发表于 2007-08-21 13:21 ·  中国 中电华通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线

@echo off & setlocal enabledelayedexpansion
for /l %%i in (6 1 1000) do (
title 正在检测:%%i
set/a sum=1
set/a partnum=%%i/2
for /l %%j in (2 1 !partnum!) do (
set/a var=%%i %% %%j
if !var! EQU 0 set/a sum+=%%j)
if !sum! EQU %%i echo %%i是完数)
pause
128 发表于 2007-08-21 13:52 ·  中国 中电华通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线
Re:126F,来段效率高点的代码:

@echo off & setlocal enabledelayedexpansion
for /l %%i in (6 1 1000) do (
title 正在检测:%%i
set/a sum=1
set/a partnum=%%i/2
if !partnum! gtr 40 set/a partnum=40
for /l %%j in (2 1 !partnum!) do (
set/a var=%%i %% %%j
if !var! EQU 0 (
set/a tmp=%%i/%%j
if !tmp! gtr %%j set/a sum+=!tmp!+%%j))
if !sum! equ %%i echo %%i是完数
)
pause>nul
129 发表于 2007-08-21 14:00 ·  中国 中电华通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线
有个奇怪的现象:
用第二段代码检测1000以内的完数只有三个:6 28 496
改装一下,检测10000以内的完数也只多了一个而已:8128
是不是因为数字大,因而因子多,因子之和一般就比本身大,所以完数出现的概率就特别小啊?!
130 发表于 2007-08-25 01:49 ·  中国 广西 贵港 电信
初级用户
积分 23
发帖 10
注册 2006-12-04 22:13
19年会员
UID 72565
性别 男
状态 离线
有点意思 .
131 发表于 2007-08-25 22:51 ·  中国 广东 广州 白云区 电信
中级用户
★★
积分 251
发帖 108
注册 2007-01-07 11:33
19年会员
UID 75721
性别 男
来自 湖南==>广州
状态 离线
25题

@echo off
setlocal enabledelayedexpansion
set /a gj=79
for /l %%i in (1,1,79) do (
set /a j1=200-%%i*4
set /a j=j1/2
set /a jg=!j!+%%i
if !jg! equ !gj! echo 鸡=!j! 狗=%%i
)

借鉴了youxi01的骆驼峰的算法..
DOS新人.多多指導
132 发表于 2007-09-12 23:25 ·  中国 重庆 电信
新手上路
积分 6
发帖 3
注册 2007-09-12 22:42
18年会员
UID 97223
性别 男
状态 离线
呵呵 有趣 学习了
133 发表于 2007-09-12 23:25 ·  中国 重庆 电信
新手上路
积分 6
发帖 3
注册 2007-09-12 22:42
18年会员
UID 97223
性别 男
状态 离线
呵呵 有趣 学习了
134 看见高手了呀 发表于 2007-09-20 21:14 ·  中国 浙江 温州 电信
新手上路
积分 2
发帖 1
注册 2007-09-20 20:48
18年会员
UID 97909
性别 男
状态 离线
看见高手学习下》
135 发表于 2007-09-24 10:18 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
28
2*8=16
2+8+1=11

28是么...
论坛跳转: