CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  非技术类

求四个不同数字所有排列可能的print方法。。

楼主billylk(可乐)2004-05-01 20:12:18 在 VB / 非技术类 提问

老师布置的。。。  
  是为做算24点做准备。。。  
   
  要求就是我的标题。。  
  用循环语句。。。  
   
  我刚学不久。。  
  所以。。。菜。。。呵呵。。。。 问题点数:0、回复次数:2Top

1 楼northwolves(狼行天下)回复于 2004-05-02 00:43:46 得分 0

http://expert.csdn.net/Expert/topic/2909/2909080.xml?temp=.2501337Top

2 楼liwowo()回复于 2004-06-08 10:58:08 得分 0

下面给出一个排列的递归算法,请大家指教。  
   
  Private   Sub   Command1_Click()   '   列出数组a   的全排列  
  Dim   a(8)   As   String,   temp   As   String  
  For   i   =   0   To   8  
  a(i)   =   i  
  Next  
  temp   =   permutation(a,   UBound(a))  
  Debug.Print   temp  
  Debug.Print   "共有   "   &   UBound(Split(temp,   vbCrLf))   +   1   &   "   种排法!"  
  End   Sub  
  Function   addxtostr(ByVal   x0   As   String,   ByVal   xadd   As   String)   As   String   '   eg:   x0:    
   
  "1,2,3,4",we   will   add   5   to   x0  
  Dim   temp,   temp2,   all()   As   String,   i   As   Long  
  temp   =   Split(x0,   ",")  
  ReDim   all(UBound(temp)   +   1)  
  all(0)   =   xadd   &   ","   &   x0   '   return   "5,1,2,3,4"  
  For   i   =   1   To   UBound(all)  
  temp2   =   temp  
  temp2(i   -   1)   =   temp2(i   -   1)   &   ","   &   xadd   '     add   5   between   every   two   contunious   number  
  all(i)   =   Join(temp2,   ",")  
  Next  
  addxtostr   =   Join(all,   vbCrLf)  
  Set   temp   =   Nothing  
  Set   temp2   =   Nothing  
  Erase   all  
  End   Function  
  Function   permutation(ByRef   a()   As   String,   ByVal   n   As   Long)   As   String   '列出数组a   的前n-1    
   
  个元素的全排列  
  Dim   i   As   Long,   temp,   all()   As   String  
  If   n   =   0   Then   permutation   =   a(0)  
  If   n   =   1   Then   permutation   =   a(0)   &   ","   &   a(1)   &   vbCrLf   &   a(1)   &   ","   &   a(0)  
  If   n   >   1   Then  
  temp   =   Split(permutation(a,   n   ),   vbCrLf)   '   递归  
  ReDim   all(UBound(temp))  
  For   i   =   0   To   UBound(temp)  
  all(i)   =   addxtostr(temp(i),   a(n))  
  Next  
  permutation   =   Join(all,   vbCrLf)  
  End   If  
  Erase   all  
  End   Function  
  Top

相关问题

  • 数字排列问题
  • 数字排列组合的问题
  • 有多少种排列方法?
  • 求1 … N 个数的排列方法
  • 彩票数字排列,客户要求,按小到大排列出来?
  • 怎样高效的将n个部分呈有序排列的数字数字随机排列??
  • 一个关于数字排列的问题?
  • 请大侠们解数字排列组合题
  • 用asp如何对一组数字排列
  • MDI子窗体有哪几种排列方法,怎么实现?

关键词

  • 排列
  • xadd
  • permutation
  • ubound
  • temp
  • print
  • byval
  • dim

得分解答快速导航

  • 帖主:billylk

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo