TC官方合作论坛

标题: 数字排列高手指点下 [打印本页]

作者: qq5111059    时间: 2014-4-27 22:57
标题: 数字排列高手指点下
本帖最后由 qq5111059 于 2014-4-27 23:46 编辑

想写个排列数字的比如只用1和2排列 8位。11111112  11111121 22222221 22222212
意思也就是8个1  8个2
排列成个8位的数字不重复


谁有思路的话提示下。能写下源码最好了。太感谢了


作者: qq5111059    时间: 2014-4-27 22:58
自己顶个
作者: qq5111059    时间: 2014-4-27 23:28
采纳会员2个月
作者: JSDYWZ    时间: 2014-4-27 23:35
本帖最后由 JSDYWZ 于 2014-4-28 01:00 编辑
  1. 空间 排列组合
  2. //默认空间

  3. //开始按钮_点击操作
  4. 功能 开始_点击()
  5.     变量 组合,位数,全部组合=""
  6.     组合=数组[256]
  7.     全部组合="11111111"
  8.     遍历(i=1;i<256;i++)
  9.         组合[i]=排列组合.十进制转二进制(i)
  10.         位数=字符串.长度(组合[i])
  11.         选择(位数)
  12.             条件 1:
  13.             组合[i]="0000000"&组合[i]
  14.             条件 2:
  15.             组合[i]="000000"&组合[i]
  16.             条件 3:
  17.             组合[i]="00000"&组合[i]
  18.             条件 4:
  19.             组合[i]="0000"&组合[i]
  20.             条件 5:
  21.             组合[i]="000"&组合[i]
  22.             条件 6:
  23.             组合[i]="00"&组合[i]      
  24.             条件 7:
  25.             组合[i]="0"&组合[i]      
  26.             条件 8:
  27.         选择结束
  28.         组合[i]= 字符串.替换(组合[i],"1","2")
  29.         组合[i]=字符串.替换(组合[i],"0","1")
  30.         全部组合=全部组合&"\r\n"&组合[i]
  31.     遍历结束
  32.     编辑框.设置文本("编辑框0",全部组合)
  33.     调试输出(全部组合)
  34. 功能结束


  35. 功能 十进制转二进制(十进制数值)
  36.     变量 字符串累加值=""
  37.     循环(十进制数值!=1)
  38.         如果((十进制数值 % 2)==0)
  39.             十进制数值=类型.取整((十进制数值/2))
  40.             字符串累加值="0"&字符串累加值
  41.         否则
  42.             十进制数值 = 类型.取整(((十进制数值-1)/2))
  43.             字符串累加值 = "1" & 字符串累加值
  44.         如果结束
  45.     循环结束
  46.     如果(十进制数值!=0)
  47.         字符串累加值="1"&字符串累加值
  48.     如果结束
  49.     返回 字符串累加值
  50. 功能结束


  51. 功能 退出_点击()
  52.    
  53.     辅助.退出()
  54. 功能结束

  55. 空间结束
  56. //空间结束语句
复制代码



作者: qq5111059    时间: 2014-4-27 23:37
JSDYWZ 发表于 2014-4-27 23:35
按什么排列   排列大小?

8位不重复排列
作者: a5602395    时间: 2014-4-27 23:42
表示看不明白
作者: qq5111059    时间: 2014-4-27 23:46
a5602395 发表于 2014-4-27 23:42
表示看不明白

意思也就是8个1  8个2
排列成个8位的数字不重复


作者: JSDYWZ    时间: 2014-4-27 23:52
是 生成  所有的 组合吧

作者: qq5111059    时间: 2014-4-27 23:54
JSDYWZ 发表于 2014-4-27 23:52
是 生成  所有的 组合吧

是的
作者: rainshine    时间: 2014-4-27 23:57
这还不简单 随机呗
作者: JSDYWZ    时间: 2014-4-28 00:02
遍历 十进制    0-255,   每一个数字   转换成  一个二进制  ,  在使用字符串 替换  0  1  就可以了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1