作者cleanwind (骨傲风清(挂网))
看板PHP
标题Re: [请益] 排列组合问题
时间Fri Feb 15 02:22:41 2008
因为打真三国无双online太无聊了 :p
改打Ptt PHP Online XD
因为这像是作业文,
为了消灭和我抢饭碗的人才,
我决定打详细一点 (误)
(意思是,你还是应该动动脑去尝试看看 ...)
//假设这个档案叫做 java.txt
<?php
//先给个回圈变数,等等用
$j = 0;
//把档案内容以行为单位读进阵列
$java_array = file('java.txt');
$java_velue_array[] = array();
//(和file_get_contents()的不同?)
//将每行的前面去掉,所以要用回圈
foreach($java_array as $k => $v) {
$java_array[$k] = trim(strrchr($v,"\t"));
//"\t,\n,\r这些是啥?strrchr 和 strstr, strchr, stristr 这些又是啥?"
//以,为分割字元,将值存入二维阵列$java_number_array[$k]
$java_number_array[$k] = explode(',',$java_array[$k]); }
foreach($java_number_array as $k => $v) {
foreach($java_number_array[$k] as $k2 => $v2) {
$j = $k + 1;
while (isset($java_number_array[$j][0])) {
foreach($java_number_array[$j] as $k3 => $v3) {
//$v2其中一个数,$v3其中一个数
if(!in_array($v2.$v3,$java_velue_array)) {
$java_velue_array[$i] = $v2.$v3;
$i++; } }
$j++; } } }
//最後把$java_velue_array印出来 ... 结束
//或者在把写入 $java_velue_array 的地方改成印出来。
?>
※ 引述《markpci (markpci)》之铭言:
: 请教一下各位排列组合的问题~
: 我有一个档案~
: 档案内容为:
: ab102 (用tab隔开) 11,01,65,99,68,78
: ac1256 01,23,41,65,74,63,26
: ef698 02,13,56,07,09
: ed23 32,05,06,23
: 我想写出他们所有数字的组合的可能情形
: 6*7*5*4=840
: 应该会有840种组合
: 请问该怎麽写呢~请大家帮忙解决一下~谢谢....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.117.194.59
※ 编辑: cleanwind 来自: 59.117.194.59 (02/15 02:23)
1F:推 gpmm: 推一下 Ptt PHP Online XD 02/15 09:47
※ 编辑: cleanwind 来自: 59.117.194.59 (02/15 11:18)
2F:推 markpci:感谢~~但这不是作业文咩~~谢谢解答~ 02/15 11:05