一个算法,急!不够加分

问题描述

问题如下任意10个数字中的7个数字的不重复排列,怎么个算法,请那位给个公式或示例

解决方案

解决方案二:
分不够再加
解决方案三:
你的不重复是指这7个数字全部不能相同,还是只要是排列中有任何一个数字不同
解决方案四:
冒泡
解决方案五:
是7个数字为一组的不重复全排列,范围是给定的10个数字中,比如给于1,2,3,4,5,6,7,8,9,10排列结果1,2,3,4,5,6,72,3,4,5,6,7,83,4,5,6,7,8,94,5,6,7,8,9,10..........
解决方案六:
usingSystem;namespace组合数{classTest{staticvoidMain(){intn=10;intm=7;int[]vec=newint[n];for(inti=0;i<vec.Length;i++)//vec为你想要组合的数组vec[i]=i+1;Test.Combine(vec,m);Console.Read();}publicstaticvoidCombine(int[]vec,intm){int[]vecm=newint[m];int[]vecb=newint[m];intmark;//初始化for(inti=0;i<m;i++)vecm[i]=i;for(inti=0;i<m-1;i++)vecb[i]=i;vecb[m-1]=vec.Length-1;mark=m-1;output(vec,vecm);while(true){if(mark==0){vecm[0]++;output(vec,vecm);if(vecm[0]==vecb[0]){inti;for(i=1;i<m;i++){if(vecm[i]<vecb[i]){mark=i;break;}}if((i==m)&&(vecm[m-1]==vecb[m-1])){break;}//结束}}else{vecm[mark]++;mark--;for(inti=0;i<=mark;i++){vecm[i]=i;vecb[i]=i;}vecb[mark]=vecm[mark+1]-1;output(vec,vecm);}}}publicstaticvoidoutput(int[]vec,int[]vecm){for(inti=0;i<vecm.Length;i++)Console.Write("{0}t",vec[vecm[i]]);Console.WriteLine();}}}
解决方案七:
A10取7...

时间: 2024-07-28 15:30:16

一个算法,急!不够加分的相关文章

一个算法题,求答案啊啊啊啊

问题描述 一个算法题,求答案啊啊啊啊 白班 09:00-18:00 通班 09:00-21:00 每个人每个月通班数量必须等于早中班和中晚班数量之和 早中班 09:00-15:00 中晚班 15:00-21:00 假设:每月按照30计算. 排班规则: 1.每个人每个月固定休息6天连续上班天数不超过7天. 2.每天各班次上班的人数最低需求:8个白班5个通班1个早中班,2个中晚班. 3.每个月每个人的通班天数安排不超过8天. 4.每个人每个月早中班和中晚班的天数之和需要与通班天数相等. 5.每月最多

csdn-acm的一道矩阵扩散题(c语言,好像是一个算法)

问题描述 acm的一道矩阵扩散题(c语言,好像是一个算法) 我只记得大概的思想.一个n×n的矩阵(应该有限定n),把abcd随机填放在矩阵中,然后照着某一个方向扩散(比如上下左右,a在一行一列,照着下扩散二行一列也是a),最后计算题目中abcd的个数.万能的csdn,有谁做过这道题吗,想找到题目,一直找不到,只记得思想大概是这样 解决方案 有哪位大神知道的吗!!! 解决方案二: 有哪位大神知道的吗!!! 解决方案三: 有哪位大神知道的吗!!! 解决方案四: 有哪位大神知道的吗!!!

编程题-求大神破解一个算法,手机号转为6位数的16进制的数好像是!!

问题描述 求大神破解一个算法,手机号转为6位数的16进制的数好像是!! 输入 -------------------------**输出** 18019617815-------------C90381 18012509150-------------32ECB9 18120150106@njxy-----CC6AAF 18120150151@njxy-----F2F3F6 求大神能看出来这是什么算法,怎么计算的

一个算法问题 最长子串

问题描述 一个算法问题 最长子串 最长子串 Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65535/65535K (Java/Other) Total Submission(s) : 19 Accepted Submission(s) : 1 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 小E最近开始研究数列,于是小J就给他出了

c语言-[C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果

问题描述 [C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果 如题,比如输入1,,2,10,5,7,8,9,11,输出其中任意几个数相加等于12的结果(不重复), 不自身相加. 1+2+9=12 10+2=12 7+5=12 解决方案 这题如果不考虑优化问题--轮询吧--总共有2的n次方种组合-学过排列组合的都知道

求解答-试编写一个算法,找出一个循环链表中的最小值。我是新手,编了一个程序,不知错在哪

问题描述 试编写一个算法,找出一个循环链表中的最小值.我是新手,编了一个程序,不知错在哪 #includeusing namespace std; class LinkNode{ int data; LinkNode *link; LinkNode(int d=0LinkNode *l=0){data=d;link=l;}}; class List{private: LinkNode *first; int n;public: List() { first=new LinkNode; first

我用opencv2.4编写了一个算法并生成了.DLL ,并在我电脑上用C#调用成功, 但在没有安装opencv2.4.9电脑上用C#使用, 请问怎把用到的op

问题描述 我用opencv2.4.9+VS2010平台上用C++编写了一个算法并生成了.DLL,并在我电脑上用C#调用成功,但是在没有安装opencv2.4.9的电脑上用C#使用,请问怎把用到的openCV库里的.DLL也一起封装到我要生成的算法代码的DLL中,让其他没有安装opencv2.4.9的电脑的C#调用?谢谢指教,不胜感激! 解决方案 解决方案二:大家有好的方法,可以发我邮箱3044757309@qq.com,谢谢大家了,不胜感激......解决方案三:1.不要嫌麻烦,把opencv的

分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出

分布式系统中的RPC请求经常出现乱序的情况.  写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:  1  2  3, 4, 5  6  7, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 要求:  1. 写一个高效的算法完成上述功能,实现要尽可能的健壮.易于维护  2. 为该算法设计并实现单元测试 我的思路是:  假设输入

推荐一个算法编程学习中文社区-51NOD【算法分级,支持多语言,可在线编译】

    最近偶尔发现一个算法编程学习的论坛,刚开始有点好奇,也只是注册了一下.最近有时间好好研究了一下,的确非常赞,所以推荐给大家.功能和介绍看下面介绍吧.首页的标题很给劲,很纯粹的Coding社区....虽然目前人气可能一般,但这里面题目和资源还是比较丰富的,希望给初学者一个帮助. 本文原文地址:[推荐]一个算法编程学习中文社区-51NOD[算法分级,支持多语言,可在线编译] 1.51NOD论坛介绍     该论坛网址:http://www.51nod.com/index.html     论

方法-关于一个算法功能的逻辑实现问题

问题描述 关于一个算法功能的逻辑实现问题 有一堆数字,从1到100顺序排序.然后对这些数字进行了若干次移动,顺序打乱了.然后将某些数字删除. 通过一些操作后,又将数字重新从1到100顺序排序了. 但是需要通过一个方法:将这些数字排序成移动后未删除之前的顺序? 解决方案 这堆数字是否有重复的,怎么删除的数字,按照什么规律. 如果这个规律可以根据剩下的数字倒退出来,得到删除数字的位置,那么就可以得到移动后未删除之前的顺序 解决方案二: 如果删除本身没有规律,是没有办法还原的 解决方案三: 虽然在可能