穷举排列组合列表509102493要这9位数的穷举列表就是所有排列组合的各种可能(3268800种)有软件也行 应该是326880种 多了个0

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/13 13:14:13

穷举排列组合列表
509102493
要这9位数的穷举列表
就是所有排列组合的各种可能(3268800种)
有软件也行
应该是326880种 多了个0

一共就9 个数 哪来3268800种排列?
如果重复的数字看做独立的话 有362880种排列.是不是我没理解你的意思啊?
好马上给你穷举出来
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication7;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
*
* @author Yichuan
*/
public class Main {
/**
* @param args the command line arguments
*/
static final byte a = 5;
static final byte b = 0;
static final byte c = 9;
static final byte d = 1;
static final byte e = 0;
static final byte f = 2;
static final byte g = 4;
static final byte h = 9;
static final byte i = 3;
static String result;
static int count = 0;
static byte[] list = new byte[9];
public static void main(String[] args) throws IOException {
BufferedWriter out = new BufferedWriter(new FileWriter("myfile"));
for(int j = 0; j < 9; j ++){
list[j] = a;
for(int k = 0; k < 9; k ++){
if (k == j){
continue;
}
else{
list[k] = b;
}
for(int l = 0; l < 9; l++){
if( l ==j || l == k){
continue;
}
else {
list[l] = c;
}
for(int m = 0; m < 9; m++){
if(m ==l || m ==j || m == k){
continue;
}
else {
list[m] = d;
}
for(int n = 0; n < 9; n++){
if(n == m || n ==l || n ==j || n == k){
continue;
}
else {
list[n] = e;
}
for(int o = 0; o < 9; o++){
if(o == n || o == m || o ==l || o ==j || o == k){
continue;
}
else {
list[o] = f;
}
for(int p = 0; p < 9; p++){
if(p == o || p == n || p == m || p ==l || p ==j || p == k){
continue;
}
else {
list[p] = g;
}
for(int q = 0; q < 9; q++){
if(q == p || q == o || q == n || q == m || q ==l || q ==j || q == k){
continue;
}
else {
list[q] = h;
}
for(int r = 0; r < 9; r++){
if(r ==q || r ==p || r == o || r == n || r == m || r ==l || r ==j || r == k){
continue;
}
else {
list[r] = i;

for(int z = 0; z < 9; z++){
result += list[z] + "";
}
if (count == 15){
out.write(result + "\n");
result = "";
count = 0;
}
else{
result += ",";
count ++;
}
}
}
}
}
}
}
}
}
}
}

}
}
我已经算过了, 这个程序一共生成 362880 个数字, 因为太大 只能给你txt文件链接了.

/*
* 输出n个元素的全排列
*/
#include
#include
#include
void arrange(char *s, int k, int m);
void swap(char *s1, char *s2);
int main(void) <...

全部展开

/*
* 输出n个元素的全排列
*/
#include
#include
#include
void arrange(char *s, int k, int m);
void swap(char *s1, char *s2);
int main(void)
{
int n;
int i;
char *set;
printf("Please input the number of elements (>=0): ");
scanf("%d", &n);
if (n <= 0) {
printf("WARN! The number should be >= 1!\n");
exit(0);
}
set = (char *)calloc(n, sizeof(char));
if (!set) {
printf("Sorry! Not enough memory!\n");
exit(0);
}
/* 读取字符元素 , 限制了输入格式 */
printf("Please input the elements ('X X X ...'):\n\t");
for (i = 0; i < n; i++)
/* Notice the '%ls' : get the next non-blank character */
scanf("%ls", &set[i]);
printf("The set is: {");
for (i = 0; i < n - 1; i++)
printf("%c, ", set[i]);
printf("%c}\n", set[i]);
printf("All arragnement is as follows:\n");
arrange(set, 0, n-1);
free(set);
getchar(); /* 防止输出窗口一闪关闭 */
getchar();
return 0;
}
void arrange(char *s, int k, int m)
{
int i;
if (k == m) {
printf("\t");
for (i = 0; i <= m; i++)
printf("%c", s[i]);
FILE *fp = NULL;
fp = fopen("d:\\pailiezuhe.txt", "at+");
fputs(s, fp);
fputs("\t", fp);
fclose(fp);
} else {
for (i = k; i <= m; i++) {
swap(&s[k], &s[i]);
arrange(s, k + 1, m);
swap(&s[k], &s[i]);
}
}
}
void swap(char *s1, char *s2)
{
char temp = *s1;
*s1 = *s2;
*s2 = temp;
}
上面这段C语言代码可以解决你的问题!
举穷的排列都输出在d盘下的pailiezuhe.txt下
如果不会用C语言 我这边也生成了你说的9个数的举穷全排列表
要的话可以直接发你邮箱去 太多了 3M多 发不上来
如果你不是开玩笑的话
我不太知道要这些数据有什么用????

收起

穷举排列组合列表509102493要这9位数的穷举列表就是所有排列组合的各种可能(3268800种)有软件也行 应该是326880种 多了个0 穷举排列组合列表(1-11,列6个,合值为18)1-11中,选6个数,可以重复,相加总数为18.我的EMAIL地址为langjz15@sina.com 九宫格使用C++穷举法实现,我目前的问题就是如何把1-9这个九个数字按照排列组合的方式分配到3*3矩阵中去,不遗漏,不重复,这里的算法如何实现? 数学排列组合中列表法的适用情况及好处 MATLAB穷举排列组合从21个人里面选出三组人,每组七个人,怎么用MATLAB把所有的情况都穷举出来?假设21个人分别是A,B,C...U 求双色球1-33所有红球的排列组合的EXCEL文件列表求双色球1-33所有红球的排列组合.要EXCEL文件列表形式. excel排列组合穷举如图,计算 物理攻击、魔法攻击、物理护甲、魔法护甲 4种属性,每种属性均有“高、中、低”3个状态一共有多少种排列数?求excle公式 请穷举出所有的排列组合,从C1~C4,D1~D4… ,排列组合 排列组合 排列组合, 排列组合, 什么叫穷举法 穷举法英语怎么说? 穷举法解排列组合问题10个人被分配到3个救灾点,每个救灾点不少于3人.其中甲乙不在同一救灾点,丙丁分在同一救灾点.求共有多少种安排方法?老师说用穷举法丙丁所在组有3人或4人两种情况, 只用C++循环,不用递归,如何让穷举1234这四个数字或者说是字符的排列组合?比如像123443211342这样,求来回调换的组合的数目,用循环怎么编写 怎么用matlab穷举法 计算机算法什么是穷举法? 什么是穷举法?3Q