社区
C#
帖子详情
求一简单算法~
wangdr
2004-09-29 02:29:55
在1,2,3,4,5,6,7,8,9,10(或者更多数字)
这些个数中获得任意6个数字(任意6个数字不能重复)的全部组合
比如:1 2 3 4 7 9
2 3 4 5 7 8
3 4 5 6 7 9
1 5 7 8 9 10
4 5 6 7 8 10
等等
...全文
165
18
打赏
收藏
求一简单算法~
在1,2,3,4,5,6,7,8,9,10(或者更多数字) 这些个数中获得任意6个数字(任意6个数字不能重复)的全部组合 比如:1 2 3 4 7 9 2 3 4 5 7 8 3 4 5 6 7 9 1 5 7 8 9 10 4 5 6 7 8 10 等等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
songbird
2004-09-29
打赏
举报
回复
这个验证过了:
class Class1
{
static int num = 4;
static int[] a = new int[num]; //存放数字
static int[] b = new int[num]; //存放每一组临时的数字组合
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
for (int i=0;i<num;i++)
{
a[i] = i;
}
all(0);
Console.ReadLine();
}
//赋值
static private void all(int start)
{
if (start==num)
{
bool same = false;
for (int j=0;j<start;j++)
{
for (int i=0;i<start;i++)
{
if ((i != j) && (b[i] == b[j]))
{
same = true;
break;
}
}
}
if (!same) printb();
return;
}
for (int i=0; i<num; i++)
{
b[start] = i;
all(start+1);
}
}
static private void printb()
{
for (int i=0;i<num;i++)
{
Console.Write(a[b[i]] + " ");
}
Console.WriteLine();
}
}
jolyalansunrain
2004-09-29
打赏
举报
回复
把数字存放进一个数组呀,如:
void FindAll(ref int [] a,int maxvalue)
{
for(int i=1;i<= maxvalue/2;i++)
for(int j=i+1; j <= maxvalue ;j++)
for(int k=j+1; k<= maxvalue;k++)
for(int m=k+1; m<=maxvalue;m++)
for(int n=m+1; n<=maxvalue;n++)
for(int l=n+1; l<=maxvalue;l++)
System.Console.WriteLine("{0}-{1}-{2}-{3}-{4}-{5}",a[i],a[j],a[k],a[m],a[n],a[l]);
return;
}
void main()
{
int maxvalue = 10;
int Array [] = new a[maxvalue];//记得给他赋值
FindAll(ref a,maxvalue);
}
Korny
2004-09-29
打赏
举报
回复
public class CodeForComb
{
static int [] CombData=new int[10];
static void Main()
{
a[0]=6;//打印6个数
comb(7,6); //按7中取6个不同的组合数
}
static void comb(int m,int k)
{
int i,j;
for( i=m;i>=k;i--)
{
CombData[k]=i;
if(k>1)
comb(i-1,k-1);//还有其他组合数 递归
else //有一组组合数了
{
for(j=a[0];j>0;j--)
{
Console.Write(CombData[j]);
}
Console.WriteLine();
}
}
}
}
songbird
2004-09-29
打赏
举报
回复
应该是start == 10
songbird
2004-09-29
打赏
举报
回复
方法:
把数字存放进一个数组
int[] a = new int[10]; //存放数字
int[] b = new int[10]; //存放每一组临时的数字组合
//赋值
private void all(int start){
for (int i=start; i<10; i++){
b[start] = a[i];
all(start+1);
}
if (i==10){
printb();
}
}
jeall
2004-09-29
打赏
举报
回复
不是楼上说的n次方,应该是C6/n的排列组合!
foow
2004-09-29
打赏
举报
回复
最小的连续数字是几位
两位,比如 1 2 5 7 9 10 11
songbird
2004-09-29
打赏
举报
回复
n的n次方。
wangdr
2004-09-29
打赏
举报
回复
smartcreater()这样做可以~但给出的数字是连续的才行~比如1,2,3,4,5,6,7
我要是给出1,4,5,6,7,9,10就不行了~
smartcreater
2004-09-29
打赏
举报
回复
class demo1
{
public static void Main()
{ int maxvalue = 10;
for(int i=1;i<=maxvalue/2;i++)
for(int j=i+1; j<= maxvalue ;j++)
for(int k=j+1; k<= maxvalue;k++)
for(int m=k+1; m<=maxvalue;m++)
for(int n=m+1; n<=maxvalue;n++)
for(int l=n+1; l<=maxvalue;l++)
System.Console.WriteLine("{0}-{1}-{2}-{3}-{4}-{5}",i,j,k,m,n,l);
}
harisonh2l
2004-09-29
打赏
举报
回复
210
wangdr
2004-09-29
打赏
举报
回复
顶一下~
wangdr
2004-09-29
打赏
举报
回复
我可能没说清楚,
比如有1,2,3,4,5,6,7这7个数字:
他们的任意6个数字的组合只能有下面几种情况:
1 2 3 4 5 6
1 3 4 5 6 7
1 2 4 5 6 7
1 2 3 5 6 7
1 2 3 4 6 7
1 2 3 4 5 7
2 3 4 5 6 7
对吧~
但是数字越多出先的组合也越多~所以想做个程序把这些组合给找出来~
nanhaiyiou
2004-09-29
打赏
举报
回复
二楼好理解。三楼的比较好!
v192
2004-09-29
打赏
举报
回复
你可以把数字存放到一个队列里面,然后套用我的办法处理
v192
2004-09-29
打赏
举报
回复
System.Random Rnd = new Random();
for ( int i = 0 ; i < dtSmallPapers.Rows.Count - 5; i++ )
{
int j = Rnd.Next( 0, dtSmallPapers.Rows.Count );
dtSmallPapers.Rows.RemoveAt( j );
}
上面是在一个DataTable中有若干条数据,只取其中的随机5条。
hbzx
2004-09-29
打赏
举报
回复
改正:
int max=10,count=6;
for ( int i=max ; i > max-count; i --)
{
i = i * (i -1) ;
}
hbzx
2004-09-29
打赏
举报
回复
int max=10,count=6;
for ( int i=max ; i > max-count; i --)
{
i = i * i -1 ;
}
(
算法
)通俗易懂的字符串匹配KMP
算法
及求next值
算法
大多数据结构课本中,串涉及的内容即串的模式匹配,需要掌握的是朴素
算法
、KMP
算法
及next值的求法。在考研备考中,参考严奶奶的教材,我也是在关于求next值的
算法
中卡了一下午时间,感觉挺有意思的,把一些思考的结果整理出来,与大家一起探讨。 以下的顺序为 1、最基本的朴素
算法
2、优化的KMP
算法
3、应
算法
需要定义的next值 4、手动写出较短串的next值的方法 5、最难理解的、足足有5行的代码...
层次分析法------小学生都会的
算法
~~~
一、评价模型的种类 二、层次分析法 2.1层次分析法的原理 层次分析法是被老师称为小学生都会的
算法
~~~ 它的
算法
原理很
简单
,所以在我们简历模型的时候最好是不要把他当作主要模型,最好只是一个解决问题的辅助手段~~~ 虽说是小学生都会的
算法
,但在分析问题上还是需要我们大学生的脑细胞的哈哈哈哈哈哈哈 层次分析法是建立在层次结构图的基础上的,层次结构图又是由相对重要权值和相对优劣次序来排定的。 层次分析法,
简单
来说,就是要形成一个多层次的分析结构模型,如下: 相信学习过数学建模的同学都知道,数学建模中对于某些
KNN
算法
(一) KNN
算法
原理
一.KNN
算法
概述 KNN可以说是最
简单
的分类
算法
之一,同时,它也是最常用的分类
算法
之一,注意KNN
算法
是有监督学习中的分类
算法
,它看起来和另一个机器学习
算法
Kmeans有点像(Kmeans是无监督学习
算法
),但却是有本质区别的。那么什么是KNN
算法
呢,接下来我们就来介绍介绍吧。 二.KNN
算法
介绍 KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,从这个名字我们就能看出一些KNN
算法
的蛛丝马迹了。K个最近邻居,毫无疑问,K的取值肯定是至关重要的。那么最近的邻居又是怎么回事呢
iOS
算法
~十大
算法
基础总结
联系人:石虎 QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138群称:iOS 技术交流学习群
算法
一:快速排序
算法
: 快速排序是由东尼·霍尔所发展的一种排序
算法
。在平均状况下,排序 n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明...
~~遗传
算法
最最最最
简单
的实例~~
~~遗传
算法
最最最最
简单
的实例~~ 这篇文章是上过某
算法
老师的课后自己闲的无聊写的一个关于遗传
算法
的
简单
的实例(由于本人真的很菜,代码写得实在不咋样).本实例旨在求某一函数在某一正整数区间上的返回值的最大值(而且函数返回值还必须是正整数,我是有多菜).具体程序中f(x)=x,寻找的范围是0~31,结果f(x)max=31; 在上代码之前,
简单
讲讲个人理解.亲子之间以及子代个体之间性状存在相似性,...
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章