设万维读者为首页 广告服务 联系我们 关于万维
简体 繁体 手机版
分类广告
版主:
万维读者网 > 灵机一动 > 帖子
打出所有子集的程序
送交者: 田苗 2006年06月21日08:30:56 于 [灵机一动] 发送悄悄话


< h t m l >
< h e a d >
< s c r i p t >
function page()
{
f1.doc ment.op en();
f1.doc ment.w rite('小于h3>Print out all subsets of a given set小于/h3>');
f1.doc ment.w rite('小于 fo rm name=fm>');

f1.doc ment.w rite('Please type your set: 小于input type=text name=set size=30>');
f1.doc ment.w rite('小于input type=button value="Sub mit" onClick="parent.subsets(set.value);">');
f1.doc ment.w rite('小于fo rm>');
f1.doc ment.cl ose();
}


function subsets(str1)
{
var str = str1.replace(/W/g,'');
var sets = str.split('');
var num = str.length;
var ii, hh, count=1;
var idx = new Array();

f2.doc ment.op en();
if(num == 0)
{
f2.doc ment.w rite('Empty set');
f2.doc ment.cl ose();
return;
}

f2.doc ment.w rite('input set: ');
f2.doc ment.w rite(str);
f2.doc ment.w rite('小于br>n');
f2.doc ment.w rite('All subsets:小于br>n');
for(ii = 0; ii < num; ii++)
{
for(hh = 0; hh <= ii; hh++)
{
idx[hh] = hh;
}
while(1)
{

f2.doc ment.w rite(count++ + ': ');
for(hh = 0; hh <= ii; hh++)
{
f2.doc ment.w rite(sets[idx[hh]]);
}
f2.doc ment.w rite("小于br>n");
if(idx[ii] < num - 1)
{
idx[ii]++;
}
else
{
for(hh = ii - 1; hh >= 0; hh--)
{
if(idx[hh] < num - 1 - (ii - hh))
{
idx[hh]++;
break;
}
}
if(hh < 0)
{
break;
}
while(++hh <= ii)
{
idx[hh] = idx[hh-1] + 1;
}
}
}
}
f2.doc ment.cl ose();
}
< /s c r i p t >
< /h e a d >
< f r a m e s e t rows="20%,80%" >
< f r a m e name=f1 src="java s c r i p t:parent.page();" >
< f r a m e name=f2 src="java s c r i p t:parent.subsets('');" >
< /f ra meset >
< /h t m l >


0%(0)
0%(0)
标 题 (必选项):
内 容 (选填项):
实用资讯
回国机票$360起 | 商务舱省$200 | 全球最佳航空公司出炉:海航获五星
海外华人福利!在线看陈建斌《三叉戟》热血归回 豪情筑梦 高清免费看 无地区限制
一周点击热帖 更多>>
一周回复热帖