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 + " 條記錄"; }
雙色球彩票33選6演算法:M個數N個為一組,所有無重複的排列組合
應朋友請求做的雙色球彩票33選6演算法:M個數N個為一組,所有無重複的排列組合。測試基本沒問題,歡迎彩票迷們使用!
相關推薦
33選6演算法: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,
Java: 演算法 - 1,2,3,4 取3個數組成三位數字,求能排列組合數量,並將它們打印出來
涉及數學公式: A n m
複雜度為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