标题: [已解决]罗列用不同数字组成的所有三位数
[打印本页]
作者: jmz573515
时间: 2007-1-27 02:00
标题: [已解决]罗列用不同数字组成的所有三位数
想写一个三位数的数字组合(如001,002...999),排除有两位数相等的(如001,112,313,449 等)组合以及三位数都相等的(如000,111...999)。
注:012,021,120,102,210,201这里只取任意一种,其它以此类推。
[
Last edited by jmz573515 on 2007-1-26 at 06:41 PM ]
作者: zhclvip
时间: 2007-1-27 02:10
标题: 合你心愿
dim msg
combine "0123456789",3,""
msgbox msg
Sub Combine(sar,num,str)
If num=0 Then
msg=msg&str&";"
Else
For i=1 To Len(sar)
Call Combine(Right(sar,Len(sar)-i),num-1,str&Mid(sar,i,1))
Next
End If
End Sub
作者: jmz573515
时间: 2007-1-27 02:13
好,学习了。
(现在受限不能加分,过后补上。)
作者: namejm
时间: 2007-1-27 02:40
我跟一个BAT版的,是用组合数的思路:
@echo off
set str=0123456789
cd.>result.txt
setlocal enabledelayedexpansion
for /l %%i in (0,1,7) do (
set /a num1=%%i+1
for /l %%j in (!num1!,1,8) do (
set /a num2=%%j+1
for /l %%k in (!num2!,1,9) do (
set /a count+=1
echo !str:~%%i,1!!str:~%%j,1!!str:~%%k,1!>>result.txt
)
)
)
echo 各个数位上的数字互不相同,且组成该数的数字与其他数中的数字不完全相同的三位数有 %count% 个>>result.txt
start result.txt
遵照ccwan的建议,加上了统计结果。
[
Last edited by namejm on 2007-1-26 at 11:08 PM ]
作者: ccwan
时间: 2007-1-27 03:01
斑斑的代码总是那么精彩,欣赏~~
作者: jmz573515
时间: 2007-1-27 03:01
谢谢二位!
作者: tongwandou
时间: 2007-4-19 10:02
二楼用C写得,比较简单!我喜欢4楼给出的代码,谢谢二位!
作者: minmin888
时间: 2007-5-8 10:37
学到东西了!