求1~9的的所有排列組合
{
int i;
int FirstNum;
bool store[9];
if(n >= 1)
{
for(i = 0; i < 9; i++)
{
if(!used[i])
{
Store(store);
FirstNum = num;
used[i] = true;
Add(num, i + 1, n);
Print(num, n - 1);
Reset(store);
num = FirstNum;
}
}
}
else if(n == 0)
{
for(i = 0; i < 9;)
{
if(used[i])
{
i++;
}
else if(!used[i])
{
num += i + 1;
// cout << num << endl; //將排列組合的結果輸入到螢幕上,輸出非常耗費時間
count++;
break;
}
}
}
}
相關推薦
求1~9的的所有排列組合
void Print(int num, int n){ int i; int FirstNum; bool store[9]; if(n >= 1) { for(i = 0; i < 9; i++) { if(!used[i]) { Store(store); Firs
演算法題(1)——輸出指定字串所有排列組合
題目介紹:輸入給定字串,輸出所有排列可能例如:給定字串為 1234. 輸出所有排列可能:1234 1324 1423 1432。public class Class01 { public static void main(String[] args) {
面試題:輸出1,2,2,3,4,5的所有排列組合,4不能在第三位,3和5不能相鄰
某一次面試時的上機題,準備較充分的情況下完成的程式碼。很久沒寫演算法類的程式碼了,放上來僅做保留方便檢視。package permutation; import java.util.Iterator; import java.util.TreeSet; /** * P
求1-10000所有的素數
std stdio.h pan 1-1000 mat for urn () break #include <stdio.h> #include <math.h> int main() { int i,j,m; printf("2 "
02 求1-100所有整數的和
blog tar title bre true nbsp star del bsp sum = 0 start = 1 while True: sum = sum + start start = start + 1 if start == 101:
[遞迴] 排列組合 - 從一個字串中任意選取N個元素構成的所有排列組合 - C語言
排列組合 【題目】求從字串中"ABCD"中任取3個元素構成的所有排列組合 A
非遞迴方式求字串的有序排列組合
#include <stdio.h> #include <stdlib.h> #include <vector> #include <string> #include <map> using namespace std; void Ge
18 獲取給定的序列的所有排列, 組合
前言 本博文部分圖片, 思路來自於劍指offer 或者程式設計珠璣 問題描述 思路 這裡有兩個問題, 一個是求所有的字元的全排列, 一個是求所有字元的組合 對於問題一, 書上給了一種解法 思路 : 對於一個原始序列, 第一次交換第一個字
求1-100所有質數的和
<span style="white-space:pre"> </span>int i1; int zh = 0; for (int j1 = 1; j1 < 100; j1++) { for (i1 = 2; i1 <
編寫一個方法,返回某字串的所有排列組合。
簡單構造法: n=1時,S=a1, 只有字串a1; n=2時,S=a1a2,有2種排列組合,a1a2,a2a1 n=3時,S=a1a2a3,排列組合為,a3a1a2, a1a3a2, a1a2a3, a3a2a1, a2a3a1, a2a1a3 根據f(n-1)求f(n),
js中求1-1000所有質數之和
var f = false; var i = 2; var j = 2; var n = 0; while (i < 1000) { f = true; while (j <= i/2){
[整理]列舉雙色球的紅球所有排列組合的SQL
由數學上的排列組合可以計算出來,由於雙色球不排序,只組合,所以33紅球和16籃球全選的話有 17721088種可能。 --電腦很慢,用了3:46" ;WITH CTE AS ( SELECT TOP 33 ID=ROW_NUMBER() OVER (ORDER
輸出4個整數(不重複)的所有排列組合
給定陣列int[] a={1,2,3,4},輸出這四個數的所有排列組合。 答案為: 1 2 3 4,1 2 4 3,1 3 2 4,1 3 4 2,1 4 2 3,1 4 3 2 2 1 3 4,2 1 4 3,2 3 1 4,2 3 4 1,2 4 1
JAVA 輸出指定字串所有排列組合
題目介紹: 輸出給定陣列或者字串,輸出所有排列可能。 例如:給定字串為 1234. 輸出所有排列可能:1234 1324 1423 1432.。。。。。。。 下面程式碼是蒐集到的比較簡潔的實現方式。共享一下 public class MySocket { public
iOS 從allCount個元素中取出myCount個元素的所有排列組合
#import "CombinationModel.h" @implementation CombinationModel { NSMutableArray *_usedArr;//識別 NSMutableArray *_resultArr;//結
給定一個數組數字求其的全排列 && 求1~n選k個數的所有組合
給定一個數組數字求其全排列(leetcode46):Given a collection of distinct integers, return all possible permutations.Example:Input: [1,2,3] Output: [ [1,
Java: 演算法 - 1,2,3,4 取3個數組成三位數字,求能排列組合數量,並將它們打印出來
涉及數學公式: A n m
陣列內容的交換——1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的求和——求 1到 100 的所有整數中出現多少次數字9
1.陣列內容的交換 #include<stdio.h> #include<stdlib.h> int main() { int arr1[] = { 1, 2, 3 }, arr2[] = { 4, 5, 6 }, i, t; for (i = 0; i < 3
9.9遞歸和動態規劃(六)——打印n對括號的所有有效組合(即左右括號正確配對)
思路 即使 情況 else 字符 ram 配對 字符串 pop /** * 功能:打印n對括號的所有有效組合(即左右括號正確配對)。 */ 兩種方法: 方法一: /** * 思路:在括號的最前面或者原有的每對括號中面插入一對括號。至於其它
【BZOJ】4555: [Tjoi2016&Heoi2016]求和 排列組合+多項式求逆 或 斯特林數+NTT
oid int lan ret 多項式 algo com 題意 orm 【題意】給定n,求Σi=0~nΣj=1~i s(i,j)*2^j*j!,n<=10^5。 【算法】生成函數+排列組合+多項式求逆 【題解】參考: [BZOJ4555][Tjoi2016&H