排列组合的问题!比较简单

nishengqiang04 2005-05-02 07:39:30
比如:我从1-26之间选择任意1,3,6,7,8,10,14,15,16,17,24,25几个数 从中任意选择5个数进行组合
筛选条件为:(1)其中不能有三个为连数的 就象1,2,3,6,9 这样的就要剔除
(2)不能含有4个偶数的 就象 2,4,6,8,11 这样的就要删除
这样的组合如何做?多谢!
...全文
269 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
minghui000 2005-05-06
  • 打赏
  • 举报
回复
up
koenemy 2005-05-02
  • 打赏
  • 举报
回复
mark
boytomato 2005-05-02
  • 打赏
  • 举报
回复
public int [] get_random()
{ System.Random random = new Random();
int [] temp=new int [5];
for(int i=0; i<5; i++)
{
temp[i] = random.Next(1,26);


}
return temp;

}

把这改改应该没多少复杂了....

nishengqiang04 2005-05-02
  • 打赏
  • 举报
回复
我要得是所有符合条件的组合而不是随机的一个组合
boytomato 2005-05-02
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面


int[] s=get_true_random();
this.Response .Write ("<script>window.alert('"+s[0]+"|"+s[1]+"|"+s[2]+"|"+s[3]+"|"+s[4]+"')</script>");

}
private int[] get_true_random()
{

string checkCode = String.Empty;

int flag1,flag2;
flag1=0;
flag2=0;
int [] temp=this.get_random ();
for(int i=0; i<5; i++)
{

if (flag1>=4 || flag2==5)
{
get_true_random();

}
else
{
if(temp[i] % 2 == 0)
flag1++;

if (i>1&&i<4)
{
if (2*temp[i]==temp[i-1]+temp[i+1])
flag2=5;

}

}
}
return temp ;





}
public int [] get_random()
{ System.Random random = new Random();
int [] temp=new int [5];
for(int i=0; i<5; i++)
{
temp[i] = random.Next(1,26);


}
return temp;

}



你再看看是否严密...........
nishengqiang04 2005-05-02
  • 打赏
  • 举报
回复
你的可以运行 但是现在我要根据一定的条件还要删除一些不符合条件的组合
你可以做出来吗?
多谢
timiil 2005-05-02
  • 打赏
  • 举报
回复
http://blog.csdn.net/timiil/archive/2005/04/20/354857.aspx

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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