社区
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
等等
...全文
189
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 ;
}
求补码的简便
算法
本文介绍了计算机中求负数补码的一种简便
算法
——值位取反加一,并提供了
算法
正确性的数学证明,强调理解补码本质的重要性,以提高计算效率。
python中求素数的
算法
,超
简单
思路,一看就会,手持4个大厂offer的我
本文介绍了Python中求素数的
简单
算法
,通过判断一个数是否只能被1和自身整除来确定。提供了两种编程思路,并分享了Python学习资源,包括学习路线、开发工具和实战案例,帮助学习者提升Python技能。
LeetCode一求素数
算法
优化的
简单
研究
本文探讨了求解素数的基本
算法
及其优化方案,包括使用开平方根减少判断次数和采用筛选-删除法大幅提高效率。通过实验对比不同
算法
的时间复杂度。
四种求最大公约数的
算法
C / C++
本文详细介绍了四种求最大公约数的
算法
:辗转相除法、穷举法(枚举法)、更相减损法和Stein
算法
,每种
算法
均包含原理、步骤、代码实现及时间复杂度分析。通过实例展示了如何运用这些
算法
,特别适合于理解和应用最大公约数的计算。
python中求素数的
算法
,超
简单
思路,一看就会
本文介绍了素数的概念及其计算方法,并提供了两种Python编程思路来找出指定范围内所有的素数。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章