VB 算法问题(简单高分) 200

用VB计算出从0-96位数的最高排列组合:0,1,2,3,4,5,6,7,8,9例如组合1:012345(6位)例如组合2:234567(6位)我想知道从0-9这些数字可... 用VB计算出从0-9 6位数的最高排列组合:

0,1,2,3,4,5,6,7,8,9

例如组合1:012345 (6位)
例如组合2:234567 (6位)

我想知道从0-9这些数字可以组成 多少个6位数.

要求:用VB代码完成
展开
 我来答
瑞表迷
2008-10-17 · TA获得超过1483个赞
知道小有建树答主
回答量:929
采纳率:0%
帮助的人:420万
展开全部
一百呀!!我要加分哦,C语言编,VB编
先C吧!
#include "stdio.h"
main()
{
int i,j,k,l,m,n;
long int sum=0;SUM计总数为多少组合!
for(i=0;i<9;i++)
for(j=0;j<9;j++)
for(k=0;k<9;k++)
for(l=0;l<9;l++)
for(m=0;m<9;m++)
for(n=0;n<9;n++)
sum++;
printf("%d,%d,%d,%d,%d,%d\t",i,j,k,l,m,n); 输出6个组合!
printf("%l",sum);
}

VB编法一样!

Private Sub Command1_Click()
Dim i, j, m, n, k, l, sum, s
sum = 0
For i = 0 To 5
For j = i + 1 To 6
For m = j + 1 To 7
For n = m + 1 To 8
For k = n + 1 To 9
For l = k + 1 To 9
s = s & i & j & m & n & k & l & vbCrLf
sum = sum + 1
DoEvents
Next
Next
Next
Next
回帖,是对朋友的帮助 请大家帮忙
评分,是对帮助的肯定 按感觉给分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尼欧赵
2008-10-17 · TA获得超过823个赞
知道大有可为答主
回答量:1597
采纳率:0%
帮助的人:1214万
展开全部
给你一个通用函数,计算排列的。
Private Function Per_Com(n As Integer, m As Integer) As Double '排列计算:n为总数,m为取出来的数,函数返回结果。你这个例子,n为10,m为6.
On Error GoTo Lexit
Per_Com = 1
If m = 0 Then Exit Function
For i = 1 To m
Per_Com = Per_Com * (n - i + 1)
Next
Exit Function
Lexit:
MsgBox "数据过大,超过1.8E308" & Error, vbCritical
End Function

答案是151200。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3ab9beb
2008-10-17 · TA获得超过226个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:167万
展开全部
提供个算法:
循环套循环
for a = 0 To 9
for b = 0 To 9
如果 b不等于a
则 for c = 0 To 9
如果 c不等于a 且c不等于b
则 {......}
next c
next b
next a

{} 内套用循环到f,最后一层循环如下:
for f = 0 To 9
如果 f不等于a 且f不等于b 且f不等于c 且f不等于d 且f不等于e
则 n+1
next f

n为所求个数,n初始赋值为0

本人VB不用好多年了,有些语法可能不对,但是算法绝对可行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我叫军强
2008-10-20 · 超过13用户采纳过TA的回答
知道答主
回答量:164
采纳率:0%
帮助的人:0
展开全部
我不知道你说的是排列还是组合所以你自己看吧!

1.排列
Private Sub Command1_Click()
x = 10 * 9 * 8 * 7
Y = 6 * 5
Form1.Caption = "从0-9这些数字可以组成" & x * Y & "个六位数。"
End Sub

2.组合
Private Sub Command1_Click()
x = 10 * 10 * 10 * 10
Y = 10 * 10
Form1.Caption = "从0-9这些数字可以组成" & x * Y & "个六位数。"
End Sub

注意VB里不能直接输出10*9*8*7*6*5的!要像上面的代码才可以运算的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓉神憨3
2008-10-18
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
如果每数只能用一次的话(第一位不为0):
Private Sub Form_Load()
Dim i As Integer
Dim n As Long
n = 9
For i = 1 To 5
n = n * (10 - i)
Next
Text1.Text = n
End Sub
运行结果是136080
其实就是9*9*8*7*6*5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式