怎么输出由26个字母组成的5个字符长度以内的字符串?

ecobin 2005-10-23 10:22:40
头脑比较简单。不知道怎么来写。。汗·!~


a
b
c
d
e
.
.
.
.
z

aa
ab
ac
ad
ae
..
..
..
az

ba
bb
bc
..
..
..
bz
..
..
..
zz
aaa
aab
aac
...
...
...
...
...
zzz
...
...
...
...
直到
...
zzzzz
...全文
292 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ecobin 2005-10-25
  • 打赏
  • 举报
回复
其实是为了写一段检查域名有没有被注册的程序的

<?
set_time_limit(0);

$out=array();
//$fp=fopen("d:\\xx.txt","w");

function out_loop($pos,$max)
{
global $out;

for($i=0;$i<26;$i++)
{
$out[$pos]=chr($i+97);
if($pos<$max)
out_loop($pos+1,$max);
$str=implode("",$out);
//echo $str;
checkDomain($str);
}
}

for($i=;$i<3;$i++)
{
out_loop(0,$i);
}


function checkDomain($domainName)
{
echo "<br><br><span style='font-size:11px'>check ing ".$domainName.".cn ing...</span><br>";
$file=file("http://regall.sohu.net/cneng/cuscheckdomain.jsp?domainName=". $domainName ."&suffix=.cn&postFlag=true");
//echo "129 hang shi".$file[129];
if (strrpos($file[129],"已被注册"))
{
echo "<span style='font-size:12px'>".$domainName.".cn 已经注册</span><br>";
} else
{
echo "<b style='color:#FF0000; font-size:12px'>".$domainName.".cn</b> 还没被注册,行动吧!<br>";
}

}
?>
Gdj 2005-10-24
  • 打赏
  • 举报
回复
因为楼上的一问,我好奇的一试。死机一次。郁闷。
Gdj 2005-10-24
  • 打赏
  • 举报
回复
错了。是存成字符型的。还要长几倍……200多M吧
还是改成存文件的,不然死机是必然。

set_time_limit(0);

$out=array();
$fp=fopen("d:\\xx.txt","w");

function out_loop($pos,$max)
{
global $out,$fp;

for($i=0;$i<26;$i++)
{
$out[$pos]=chr($i+97);
if($pos<$max)
out_loop($pos+1,$max);
$str=implode("",$out)."\r\n";
@fwrite($fp,$str,strlen($str));
}
}

for($i=0;$i<5;$i++)
{
out_loop(0,$i);
}
fclose($fp);
ashchen 2005-10-24
  • 打赏
  • 举报
回复
61288890
写成文件要58兆
ashchen 2005-10-24
  • 打赏
  • 举报
回复
是不是
26+26*26+26*26*26 +26*26*26*26+26*26*26*26*26
=12356630
ashchen 2005-10-24
  • 打赏
  • 举报
回复
一共有多少个?
重复的字符串不算
Gdj 2005-10-24
  • 打赏
  • 举报
回复
set_time_limit(0);

$out=array("0"=>"a","1"=>"a","2"=>"a","3"=>"a","4"=>"a");

function out_loop($pos,$max)
{
global $out;

for($i=0;$i<26;$i++)
{
$out[$pos]=chr($i+97);
if($pos<$max)
out_loop($pos+1);
echo implode("",$out)."<br>";
}
}

for($i=0;$i<4;$i++)
out_loop(0,$i);

看起来你还想要包括1~4位的组合。衷心希望你不会死机。
Gdj 2005-10-24
  • 打赏
  • 举报
回复
$out=array("0"=>"a","1"=>"a","2"=>"a","3"=>"a","4"=>"a");

function out_loop($pos)
{
global $out;

for($i=0;$i<26;$i++)
{
$out[$pos]=chr($i+97);
if($pos<4)
out_loop($pos+1);
echo implode("",$out)."<br>";
}
}

out_loop(0);


5位的组合……可不是小数目。运行起来你不要以为死机了才好。
ecobin 2005-10-24
  • 打赏
  • 举报
回复
好像不是难题哦。

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧