1. 程式人生 > >33選6演算法:M個數N個為一組,無重複的排列組合

33選6演算法:M個數N個為一組,無重複的排列組合

  •    private void button1_Click(object sender, EventArgs e)
            {
                int nCnt = 0;
                List<int> nNumList = new List<int>();
                for (int i = 0; i < cblNumList.Items.Count; i++)
                {
                    if (cblNumList.GetItemChecked(i))
                    {
                        nNumList.Add(Convert.ToInt32(cblNumList.Items[i].ToString()));
                    }
                }
                System.Text.StringBuilder sbResult = new StringBuilder();
                int nLast = nNumList.Count;
                for (int i1 = 0; i1 < nLast-5; i1++)
                {
                    for (int i2 = 0; i2 < nLast - 4; i2++)
                    {
                        if (i2 == i1) continue;
                        for (int i3 = 0; i3 < nLast - 3; i3++)
                        {
                            if (i3 == i2 || i3 == i1) continue;
                            for (int i4 = 0; i4 < nLast - 2; i4++)
                            {
                                if (i4 == i3 || i4 == i2 || i4 == i1) continue;
                                for (int i5 = 0; i5 < nLast - 1; i5++)
                                {
                                    if (i5 == i4 || i5 == i3 || i5 == i2 || i5 == i1) continue;
                                    for (int i6 = 0; i6 < nLast; i6++)
                                    {
                                        if (i6 == i5 || i6 == i4 || i6 == i3 || i6 == i2 || i6 == i1) continue;
                                        if (nNumList[i1] > nNumList[i2] || nNumList[i2] > nNumList[i3] || nNumList[i3] > nNumList[i4] || nNumList[i4] > nNumList[i5] || nNumList[i5] > nNumList[i6]) continue;
                                        sbResult.Append("\r\n" + nNumList[i1].ToString() + " " + nNumList[i2].ToString() + " " + nNumList[i3].ToString() + " " + nNumList[i4].ToString() + " " + nNumList[i5].ToString() + " " + nNumList[i6].ToString());
                                        nCnt += 1;
                                    }
                                }
                            }
                        }
                    }
                }
                tbResult.Text = sbResult.ToString();
                //lblMessage.Text = nLast + " 個隨機數字;共有 " + nCnt + " 條記錄";
            }


     雙色球彩票336演算法:M個數N個為一組,所有無重複的排列組合
    應朋友請求做的雙色球彩票336演算法:M個數N個為一組,所有無重複的排列組合。測試基本沒問題,歡迎彩票迷們使用!

相關推薦

336演算法:M個數N,重複排列組合

private void button1_Click(object sender, EventArgs e) { int nCnt = 0; List<int> nNumList = new

阿里校招演算法崗測試題——n節點的完全圖,每兩節點之間路經m條線的最短距離

光明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了一個難題:設計接力跑大賽的線路,你能幫助他們完成這項工作麼? 光明小學可以抽象成一張有N個節點的圖,每兩點間都有一條道路相連。光明小學的每個班都有M個學生,所以你要為他們設計出一條恰好經過M條邊的路徑。 光明

js多(N)個數的的元素組合排序演算法,多維陣列的排列組合或多個數之間的排列組合

/*返回組合的陣列*/ function doExchange(array){ var len = arr.length; // 當陣列大於等於2個的時候 if(len >= 2){ // 第一個陣列的長度

6.14 提取第n分割的子串

string 字符 all lee 字符串 eat iter src name 問題:從字符串中提取出一個指定的、由分割符隔開的子字符串。create view v as select ‘mo,larry,curly‘ as namefrom t1union allsele

演算法】將n有序集合合併成一個新的有序集合

import java.util.*;public class Main {public static void main(String[] args) {List<List<Integer>> lists = new ArrayList<>

STL演算法 ------ 根據第n元素排序

1. nth_element( b, n, e )         對n位置的元素進行比較,大的放後面,小的放前面,n必須是迭代器指向輸入的元素; 2. nth_element(b, n, e, p ) 3.對比:partition() 演算法 #include <i

每日練——從長度n的數裡選出m個數使和固定值sum

這個問題是我從leetcode上一道問題所想到的,原題:如果是從陣列中選出2個數相加使之成為固定的數sum,這當然很簡單,把陣列中的數字遍歷一遍,判斷另一個數字是否也在陣列中即可。程式碼如下。

深度優先演算法求含有N元素的集合的全部組合(即:在集合中選1,2,3...N元素的所有組合,不是排列)

先來看一道題:給定整數:a1, a2, a3.....an, 判斷是否可以從中選出任意個數,使其和等於K, (數字的個數,取1--N個數都可以), 這道題要求找出這N個數中選1,2,3...N個元素的所有組合,如果任何一個組合滿足和為K, 就找到了答案,所以:本質上,這道題

共有n個人,給定m對好友關係,好友的好友也算一個朋友圈,問n人中共有幾朋友

題目:假如已知有n個人和m對好友關係(存於數字r)。如果兩個人是直接或間接的好友(好友的好友的好友...),則認為他們屬於同一個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} , {4 ,

n有序數,取出k最大值

ole turn uniq sort .so 取出 ons 排序 class 思路:先合並數組,在去重,然後排序,再取出k個最大的值; var arr = [ [10, 2, 3, 4, 5], [2, 3, 4, 5, 6], [5, 7, 8,

複雜度O(n)的取數中分佈最密集的部分的演算法

    公司有一個檢測系統,在單位時間內將每次檢測結果儲存。由於檢測的環境受到外界干擾,會隨機地出現異常值。以前的辦法是:取得所有檢測結果的最大值作為最終值。由於異常值的出現,導致檢測結果非常不準確。於是思考在整個檢測結

基礎演算法題(1)—— 題目:有1、2、3、4數字,能組成多少互不相同且重複數字的四位數?

題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的四位數? 分析題目,要求將1,2,3,4四個數字成各個位數不相同且無重複的四位數,可以寫四個for迴圈,每一個迴圈代表一個位數上的數字,即1——4,再定義一個int型的變數count,初始值為

java經典題丨有1、2、3、4四數字,能組成多少互不相同且重複數字的三位數?都是多少?

組合成三個互不重複的數字,不難理解,其他的好辦,但是互不重複,就有點難度了,這個是解決本題思路的重點,程式碼如下: public static void main(String[] args) { int x=0,y=0,z=0,count=0; for(x=1;x<=4;

題目:有1、2、3、4數字,能組成多少互不相同且重複數字的四位數?都是多少?

#include<stdio.h> int main() { int i,j,k,t=0,l; for(i=1;i<5;i++) for(j=1;j<5;j++) for(k=1;k<5;k++) for(l=1;l<5;l+

遍歷數裡,每幾元素的所有可能 (lua)

local arr={1,2,3,4,5,6,7,8,9,10} local repcount =#arr local arr_count = 4    --每幾個元素一組 local rep_cardindex={}  --假如4個元素,1234個元素對應arr數組裡

題目:有1、2、3、4數字,能組成多少互不相同且重複數字的三位數?都是多少?

for迴圈的巢狀輸出即可,不要想太多。 public class Test11 { public static void main(String[] args) { int i,j,k,sum = 0; System.out.print("符合條件的數有:"

Python——有1、2、3、4數字,能組成多少互不相同且重複數字的三位數?都是多少?

用python做一個簡單的數字題,希望多初學者帶來一點點幫助 第一種方式: 1 for x in range(1,5): 2 for y in range(1,5): 3 for z in range(1,5): 4 if (x!=y) and (y

1、2、4、9數字,能組成多少互不相同且重複數字的三位數?都是多少?

1 int arr[] = { 1, 2, 4, 9 }; 2 for (int i = 0, num = 0; i < arr.length; i++) { 3 for (int j = 0; j < arr.length; j++) { 4

A、B、C、D四字母,能組成多少互不相同且重複三位組合

package 第五天的作業;/* * A、B、C、D四個字母,能組成多少個互不相同且無重複三位組合 */public class Demo14 { public static void main(String[] args) { int count = 0; //統計個數 for(int i = 65; i