1. 程式人生 > >m個數中取n個數的組合

m個數中取n個數的組合

#include <stdio.h>

int a[1000];
int end; // 儲存輸入要取的n值

// 從m個數中,取出n個數的組合
void Combination(int m, int n)
{
	int i, j;

	for (i = m; i >= n; i--)
	{
		a[n] = i;// 最後一個位置的元素可以取m,m-1,m-2.....n
		if (n > 1)
		{
			Combination(i - 1, n - 1);// 從剩餘的i-1個元素中取出n-1
		}
		else
		{
			for (j = 1; j <= end; j++)
			{
				printf("%d", a[j]);
			}
			printf("\n");
		}
	}

}

int main()
{
	int m, n;
	int i;

	scanf("%d%d", &m, &n);
	end = n;
    Combination(m, n);// 從m個數中取出n個數的所有組合

	return 0;
}

相關推薦

m個數n個數組合

#include <stdio.h> int a[1000]; int end; // 儲存輸入要取的n值 // 從m個數中,取出n個數的組合 void Combination(int

排列組合問題:n個數k個數

() spa 條件 esp sizeof pac ret emp space /************************************有0~n-1共n個數,從其中任取k個數,*已知這k個數的和能被n整除,求這樣的*k個數的組合的個數sum,*輸入:n,k*

從陣列n個數有多少種組合

private void mergeSort() { // int[] aa = {3, 5, 7, 9, 8, 4, 6, 1, 2}; // merge(aa, 0, aa.length-1); // for (int i=0;i<aa.

//組合演算法 從M個數取出N個數,無順序

  [self myCombineAlgorithm:MutableArray num:5]; //組合演算法 從M個數中取出N個數,無順序 -(void)myCombineAlgorithm:(NSMutableArray*)src num:(int)getnu

遞迴:從陣列n個數有多少種組合

還是在學習遞迴。 看別人的部落格自己學習了之後,來寫一下自己的理解吧。 首先這道題目是說,有一個數組,例如arr={1,2,3,4,5,6},給定一個n<=arr_len,例如給定4,問:從陣列中取4個數一共有多少種組合方式? 這個在數學上是排列組合

m個數隨機n個數的java實現

//借用他人的C語言版本改成java版本 同時懶懶地增加了順序輸出結果    static int total = 0;    static void cur(int k, int m, int n, List usedList, List resultList, List

排列組合問題:n個數m個(Golang實現)

(一)組合問題 組合是一個基本的數學問題,本程式的目標是輸出從n個元素中取m個的所有組合。 例如從[1,2,3]中取出2個數,一共有3中組合:[1,2],[1,3],[2,3]。(組合不考慮順序,即[1,2]和[2,1]屬同一個組合) 本程式的思路(來自網

求:從m個自然數n個數的所有組合

Q:編寫一個遞迴演算法,找出從自然數1,2,3,...,m中任取n個數的所有組合。例如:m=5,n=3時,所有組合為543,542,541,532,531,521,432,431,421,321。 A1:設這m個自然數存放在整數陣列A[k]中,A[i]存放i+1(0<

輸出N個數M個數的所有組合,排列情況

一般思路是由組合算排列,現在藉助Next_permutation函式由排列到組合。 1.組合 讀入一個字串,一個整數n,輸出字串中取n個字元的所有組合情況 演算法:藉助Next_permutation函式,構造一個大小為len=str.length()的陣列,0表示要輸出

n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數。寫一函式:實現以上功能,在主函式輸入n個數和輸出調整後的n個數

import java.util.Scanner; public class Main {     public static void main(String[] args){         Scanner sc = new Scann

陣列任意n個數的全排列(DFS)以及任意n個數組合

        今天做了poj1270這道題,採用了深度優先搜尋,確實啟發了我,無意中想了一個這麼一個問題:求陣列中任意n個數的全排列是不是也可以用深度優先去搜索(我理解這是一種深度搜索,不知道對不對)。 程式碼如下: #include<iostream> #i

ACMNO.41C語言-數字調序 有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數,見圖。寫一函式:實現以上功能,在主函式輸入n個數和輸出調整後的n個數

題目描述 有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數,見圖。 寫一函式:實現以上功能,在主函式中輸入n個數和輸出調整後的n個數。 輸入 輸入資料的個數n n個整數 移動的位置m 輸出 移動後的n個數 樣例輸入 10 1 2 3 4

hdu 3915 Game 求N個數若干個數字使得它們的異或值為0的方法數 高斯消元(mod2)

Problem Description   Mr.Frost is a child who is too simple, sometimes naive, always plays some simple but interesting games with his fri

java實現從M個元素N個元素的所有組合(數學組合問題)

package reverse; public class Cat {public static void main(String[] args) {int[] s = {4, 2, 1, 3, 0, 5};String tmp = "";for(int i=1;i<

n個數最大值與最小值

#include<stdio.h> int main() {    int max,min,i,a,n;    scanf("%d",&a);    max=min=a;    for(i=1;i<n;i++)    {     scanf("%d

【演算法與資料結構】在n個數第k大的數(基礎篇)

題目介紹 在n個數中取第k大的數(基礎篇),之所以叫基礎篇是因為還有很多更高階的演算法,這些以後再討論。本文用兩種最基本的方法來解決這個問題。使用java語言描述。例子是十個數中取第三大的。 演算法

查詢斐波納契數列N 個數

題目 查詢斐波納契數列中第 N 個數。 所謂的斐波納契數列是指: 前2個數是 0 和 1 。 第 i 個數是第 i-1 個數和第i-2 個數的和。 斐波納契數列的前10個數字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 … 解法 pub

彙編基礎練習題14: 編寫排序子程式,把資料區N個數進行排序(資料區可能有多個類似13題a1的變數:a2,a3。。。那麼該子程式應該有幾個入口引數?),然後在主程式驗證。

彙編基礎練習題14: 編寫排序子程式,把資料區中的N個數進行排序(資料區中可能有多個類似13題中a1的變數:a2,a3。。。那麼該子程式應該有幾個入口引數?),然後在主程式中驗證。 編譯工具:Masm for Windows 整合實驗環境2012.5 (附帶一個工具下載地址https

N個數取出任意個數,求和為指定值的解

 題目來自CSDN的帖子: 原題是這樣的: 任意給一陣列,如{-10,45,35,99,10,6,9,20,17,18} 再任意給一個值,如35. 請從上面的陣列中找出所有的組合,使他們的和等於35. 例如對於上面的陣列,所有的組合情況為: 35; -10+45; 17+

陣列n個數據,要將他們順序迴圈向後移k位,即前面的元素向後移k位

方法一:#include <stdio.h>#include <stdlib.h>int main(){int k,i,n,a[100]={0},b[100]={0};scanf("%d %d",&n,&k);for(i=0;i<