测试一下你的编程思想。。

liuyun1987 2007-08-28 11:05:10
求M个数字中的N个数字的排列组合,如输入一组数字为:1 2 3 4 5,求其中3个的排列组合,输出:1 2 3,1 2 4,1 2 5,1 3 4,1 3 5,1 4 5,2 3 4,2 3 5,2 4 5,3 4 5
如果随便输入的一组数字,并输入一个在这组数字长度内的数字,输出它们的排列组合,会的把你们写的代码贴上来。。。看一下你们的编程思想。。。。
...全文
984 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
Love_My 2007-08-29
  • 打赏
  • 举报
回复
... 引了个钻石

怎么我觉得是问功课 ... ?
huzhangyou 2007-08-29
  • 打赏
  • 举报
回复
这个好像不难吧

只是数学思想而已

而非编程
hthying 2007-08-29
  • 打赏
  • 举报
回复
楼主想让人帮做作业
roselxy1981 2007-08-29
  • 打赏
  • 举报
回复
考数学呢
bbbbbb888888 2007-08-29
  • 打赏
  • 举报
回复
不难
wdzr_826 2007-08-29
  • 打赏
  • 举报
回复
数学问题
dalianu 2007-08-29
  • 打赏
  • 举报
回复
看了http://www.google.com/search?hl=en&q=combination+algorithm
呵呵....
chuxue1342 2007-08-29
  • 打赏
  • 举报
回复
应该是不能重复的!!
sjjf 2007-08-29
  • 打赏
  • 举报
回复
倒,哈哈,超级大笨狼居然也会说这话,
记得好多年前,在一个asp贴子里面,他还以vb那个飞机式的for循环列表为荣。
认为累机器不累人。
yunzhonghua001 2007-08-29
  • 打赏
  • 举报
回复
这是个数学问题
王集鹄 2007-08-29
  • 打赏
  • 举报
回复
public void CombinationCollocate(
string ANumbers,
string APath,
int ALen)
{
if (APath.Length >= ALen)
{
Console.WriteLine(APath);
return;
}
for (int i = 0; i < ANumbers.Length; i++)
{
string vNumbers = ANumbers.Remove(i, 1);
CombinationCollocate(vNumbers, APath + ANumbers.Substring(i, 1), ALen);
}
} /* CombinationCollocate */

private void button1_Click(object sender, EventArgs e)
{
CombinationCollocate("12345", "", 3);
}


-------
123
124
125
132
134
135
142
143
145
152
153
154
213
214
215
231
234
235
241
243
245
251
253
254
312
314
315
321
324
325
341
342
345
351
352
354
412
413
415
421
423
425
431
432
435
451
452
453
512
513
514
521
523
524
531
532
534
541
542
543
Arieslns 2007-08-29
  • 打赏
  • 举报
回复
如果输入的一组数字存在重复的情况,输出的排列是否也要存在相同数字存在于一个排列中的情况……这样子就麻烦了……
Arieslns 2007-08-29
  • 打赏
  • 举报
回复
输入的一组数字存在重复的情况不?
Arieslns 2007-08-29
  • 打赏
  • 举报
回复
我也觉得是功课问题。楼主不妨坦白一点……
jacklinq 2007-08-29
  • 打赏
  • 举报
回复
我个人感觉这个比较笨,但通用吧!
dim D(M)
for i= 1 to m-2
for j= 2 to m-1
for k= 3 to m
d(i)&d(j)&d(k)
next k
next j
next i
liuyun1987 2007-08-29
  • 打赏
  • 举报
回复
各位同志不要小看这些问题。。
这确实是一个测试编程思想的程序,里面也涉及到算法,郑重申明:本人己工作,不是在做作业,只是别人提及到了这个题目时。我觉的有点意思,就在这里发贴了,看来这里贴上来的程序和我写的一样。都是用for循环来实现,但是我今天跟我老大(超级大笨狼)谈讨了一下。他说用for循环效率低,叫我先到网上搜一下。。。
MoonZ_Wu 2007-08-29
  • 打赏
  • 举报
回复
看看<程序员面试指南>就知道了,里面的题
piaoyao888 2007-08-29
  • 打赏
  • 举报
回复
绝对正确的方法:(其中result就是所要求的结果)
public void zuhe()
{
int[] arr={1,2,3,4,5};
String result="";
for(int i=0;i<arr.Length;i++)
for(int j=i+1;j<arr.Length;j++)
for(int l=j+1;l<arr.Length;l++)
{
String temp=arr[i]+" "+arr[j]+" "+arr[l]+";";
result+=temp;

}
MessageBox.Show(result);
}
huiguniang1224 2007-08-29
  • 打赏
  • 举报
回复
想起很多年以前的高中数学老师了……

汗~~
无语僧 2007-08-29
  • 打赏
  • 举报
回复
假...
加载更多回复(9)

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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