首页 / 算法 / ABCCBA从1到9不同数字组成算法
ABCCBA从1到9不同数字组成算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ABCCBA从1到9不同数字组成算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3543字,纯文字阅读大概需要6分钟。
内容图文
ABCCBA从0到9不同数字组成算法要求:ABC不重复
举例:012210、013310......019910。
......
098890、097790......091190。
......
980089、981189......987789。
......
901109、902209......908809。等等
也就是能算出用 (0-9组成) 的所有 ABCCBA 不重复的 6位数。
可能会比较麻烦!希望高手能帮我解决一下。非常感谢。
本人不懂程序。能直接给出数字也行。当然最好能付上代码。
回复讨论(解决方案)
$a = Combination(range(0, 9), 3);foreach($a as $v) $r[] = join('', array_merge($v, array_reverse($v)));print_r($r);
Array( [0] => 789987 [1] => 689986 [2] => 679976 [3] => 678876 [4] => 589985 [5] => 579975 [6] => 578875 [7] => 569965 [8] => 568865 [9] => 567765 [10] => 489984 [11] => 479974 [12] => 478874 [13] => 469964 [14] => 468864 [15] => 467764 [16] => 459954 [17] => 458854 [18] => 457754 [19] => 456654 [20] => 389983 [21] => 379973 [22] => 378873 [23] => 369963 [24] => 368863 [25] => 367763 [26] => 359953 [27] => 358853 [28] => 357753 [29] => 356653 [30] => 349943 [31] => 348843 [32] => 347743 [33] => 346643 [34] => 345543 [35] => 289982 [36] => 279972 [37] => 278872 [38] => 269962 [39] => 268862 [40] => 267762 [41] => 259952 [42] => 258852 [43] => 257752 [44] => 256652 [45] => 249942 [46] => 248842 [47] => 247742 [48] => 246642 [49] => 245542 [50] => 239932 [51] => 238832 [52] => 237732 [53] => 236632 [54] => 235532 [55] => 234432 [56] => 189981 [57] => 179971 [58] => 178871 [59] => 169961 [60] => 168861 [61] => 167761 [62] => 159951 [63] => 158851 [64] => 157751 [65] => 156651 [66] => 149941 [67] => 148841 [68] => 147741 [69] => 146641 [70] => 145541 [71] => 139931 [72] => 138831 [73] => 137731 [74] => 136631 [75] => 135531 [76] => 134431 [77] => 129921 [78] => 128821 [79] => 127721 [80] => 126621 [81] => 125521 [82] => 124421 [83] => 123321 [84] => 089980 [85] => 079970 [86] => 078870 [87] => 069960 [88] => 068860 [89] => 067760 [90] => 059950 [91] => 058850 [92] => 057750 [93] => 056650 [94] => 049940 [95] => 048840 [96] => 047740 [97] => 046640 [98] => 045540 [99] => 039930 [100] => 038830 [101] => 037730 [102] => 036630 [103] => 035530 [104] => 034430 [105] => 029920 [106] => 028820 [107] => 027720 [108] => 026620 [109] => 025520 [110] => 024420 [111] => 023320 [112] => 019910 [113] => 018810 [114] => 017710 [115] => 016610 [116] => 015510 [117] => 014410 [118] => 013310 [119] => 012210)
Combination 函数定义
function Combination( $arr, $num=0) { $arr = array_values($arr); $len = count($arr); if($num == 0) $num = $len; $res = array(); for($i=1,$n=pow(2, $len); $i<$n; ++$i) { $tmp = str_pad(base_convert($i, 10, 2), $len, '0', STR_PAD_LEFT); $t = array(); for($j=0; $j<$len; ++$j) { if($tmp{$j} == '1') { $t[] = $arr[$j]; } } if(count($t) == $num) $res[] = $t; } return $res; }
如果 012210 和 021120 不算重复的话,可以这样写
for($a=0; $a<10; $a++) for($b=0; $b<10; $b++) for($c=0; $c<10; $c++) if($a != $b && $a != $c && $b != $c) printf("%d%d%d%d%d%d\n", $a, $b, $c, $c, $b, $a);
012210013310014410015510016610017710018810019910021120023320024420025520026620027720......
谢谢!辛苦版主了.会编程真好.要是人工自己一个一个来.估计一天也搞不完.
内容总结
以上是互联网集市为您收集整理的ABCCBA从1到9不同数字组成算法全部内容,希望文章能够帮你解决ABCCBA从1到9不同数字组成算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。