Нужно написать программу, которая будет выводить все подмножества введенного множества. Например если ввести множество 1,2,3,4,5 то должны получить:
1
2
3
4
5
12
13
14
15
23
24
25
34
35
45
123
124
125
134
135
145
234
235
245
345
1234
1235
1245
1345
2345
12345
Я сделал пару попыток но ни один вариант не выводит все подмножества, а только их часть:
Вариант 1:
<html>
<head>
<title>Индивидуальная работа</title>
</head>
<body bgcolor='DarkSeaGreen'>
<form name='form1'>
Введите множество елементов через кому:<br>
<input type='text' name='mn' size=50>
<input type='button' name='do' value='Выполнить' OnClick='func();'><br><br>
Список всех подмножеств:<br>
<textarea name='otv' cols=50 rows=10 wrap='vrtual'></textarea>
</form>
<script type='text/javascript'>
function func()
{
var m=document.form1.mn.value.split(',');
var st='';
for(i=0; i<m.length; i++)
{
for(j=0; j<=m.length; j++)
{
if(j+i>m.length-1){break}
st=st+'(';
for(k=j; k<=j+i; k++)
{
if(k>m.length-1){break}
st=st+m[k]+',';
}
st=st.slice(st,-1);
st=st+'); ';
}
}
document.form1.otv.value=st;
}
</script>
</body>
</html>
|
Вариант 2:
<html>
<head>
<title>Индивидуальная работа</title>
</head>
<body bgcolor='DarkSeaGreen'>
<form name='form1'>
Введите множество елементов через кому:<br>
<input type='text' name='mn' size=50>
<input type='button' name='do' value='Выполнить' OnClick='func();'><br><br>
Список всех подмножеств:<br>
<textarea name='otv' cols=50 rows=10 wrap='vrtual'></textarea>
</form>
<script type='text/javascript'>
function func()
{
var m=document.form1.mn.value.split(',');
var mas=[];
var st=[];
for(i=0; i<m.length; i++)
{
for(s=0; s<=i; s++){mas[s]=m[s]};
for(k=i; k>=0; k--)
{
for(j=k; j<m.length; j++)
{
mas[k]=m[j];
st=st+mas+'| ';
}
}
}
document.form1.otv.value=st;
}
</script>
</body>
</html>
|
Помогите исправить одну из этих программ, чтобы выводила все подмножества.