.net c# 计算一个数字内排列N个组合方式,含源码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

比如10以内,一行排2个,那么就有:
排列方式: 45
1  1,2
2  1,3
3  1,4
4  1,5
5  1,6
6  1,7
7  1,8
8  1,9
9  1,10
10  2,3
11  2,4
12  2,5
13  2,6
14  2,7
15  2,8
16  2,9
17  2,10
18  3,4
19  3,5
20  3,6
21  3,7
22  3,8
23  3,9
24  3,10
25  4,5
26  4,6
27  4,7
28  4,8
29  4,9
30  4,10
31  5,6
32  5,7
33  5,8
34  5,9
35  5,10
36  6,7
37  6,8
38  6,9
39  6,10
40  7,8
41  7,9
42  7,10
43  8,9
44  8,10
45  9,10


排7个,就有:

排列方式: 120
1  1,2,3,4,5,6,7
2  1,2,3,4,5,6,8
3  1,2,3,4,5,6,9
4  1,2,3,4,5,6,10
5  1,2,3,4,5,7,8
6  1,2,3,4,5,7,9
7  1,2,3,4,5,7,10
8  1,2,3,4,5,8,9
9  1,2,3,4,5,8,10
10  1,2,3,4,5,9,10
11  1,2,3,4,6,7,8
12  1,2,3,4,6,7,9
13  1,2,3,4,6,7,10
14  1,2,3,4,6,8,9
15  1,2,3,4,6,8,10
16  1,2,3,4,6,9,10
17  1,2,3,4,7,8,9
18  1,2,3,4,7,8,10
19  1,2,3,4,7,9,10
20  1,2,3,4,8,9,10
21  1,2,3,5,6,7,8
22  1,2,3,5,6,7,9
23  1,2,3,5,6,7,10
24  1,2,3,5,6,8,9
25  1,2,3,5,6,8,10
26  1,2,3,5,6,9,10
27  1,2,3,5,7,8,9
28  1,2,3,5,7,8,10
29  1,2,3,5,7,9,10
30  1,2,3,5,8,9,10
31  1,2,3,6,7,8,9
32  1,2,3,6,7,8,10
33  1,2,3,6,7,9,10
34  1,2,3,6,8,9,10
35  1,2,3,7,8,9,10
36  1,2,4,5,6,7,8
37  1,2,4,5,6,7,9
38  1,2,4,5,6,7,10
39  1,2,4,5,6,8,9
40  1,2,4,5,6,8,10
41  1,2,4,5,6,9,10
42  1,2,4,5,7,8,9
43  1,2,4,5,7,8,10
44  1,2,4,5,7,9,10
45  1,2,4,5,8,9,10
46  1,2,4,6,7,8,9
47  1,2,4,6,7,8,10
48  1,2,4,6,7,9,10
49  1,2,4,6,8,9,10
50  1,2,4,7,8,9,10
51  1,2,5,6,7,8,9
52  1,2,5,6,7,8,10
53  1,2,5,6,7,9,10
54  1,2,5,6,8,9,10
55  1,2,5,7,8,9,10
56  1,2,6,7,8,9,10
57  1,3,4,5,6,7,8
58  1,3,4,5,6,7,9
59  1,3,4,5,6,7,10
60  1,3,4,5,6,8,9
61  1,3,4,5,6,8,10
62  1,3,4,5,6,9,10
63  1,3,4,5,7,8,9
64  1,3,4,5,7,8,10
65  1,3,4,5,7,9,10
66  1,3,4,5,8,9,10
67  1,3,4,6,7,8,9
68  1,3,4,6,7,8,10
69  1,3,4,6,7,9,10
70  1,3,4,6,8,9,10
71  1,3,4,7,8,9,10
72  1,3,5,6,7,8,9
73  1,3,5,6,7,8,10
74  1,3,5,6,7,9,10
75  1,3,5,6,8,9,10
76  1,3,5,7,8,9,10
77  1,3,6,7,8,9,10
78  1,4,5,6,7,8,9
79  1,4,5,6,7,8,10
80  1,4,5,6,7,9,10
81  1,4,5,6,8,9,10
82  1,4,5,7,8,9,10
83  1,4,6,7,8,9,10
84  1,5,6,7,8,9,10
85  2,3,4,5,6,7,8
86  2,3,4,5,6,7,9
87  2,3,4,5,6,7,10
88  2,3,4,5,6,8,9
89  2,3,4,5,6,8,10
90  2,3,4,5,6,9,10
91  2,3,4,5,7,8,9
92  2,3,4,5,7,8,10
93  2,3,4,5,7,9,10
94  2,3,4,5,8,9,10
95  2,3,4,6,7,8,9
96  2,3,4,6,7,8,10
97  2,3,4,6,7,9,10
98  2,3,4,6,8,9,10
99  2,3,4,7,8,9,10
100  2,3,5,6,7,8,9
101  2,3,5,6,7,8,10
102  2,3,5,6,7,9,10
103  2,3,5,6,8,9,10
104  2,3,5,7,8,9,10
105  2,3,6,7,8,9,10
106  2,4,5,6,7,8,9
107  2,4,5,6,7,8,10
108  2,4,5,6,7,9,10
109  2,4,5,6,8,9,10
110  2,4,5,7,8,9,10
111  2,4,6,7,8,9,10
112  2,5,6,7,8,9,10
113  3,4,5,6,7,8,9
114  3,4,5,6,7,8,10
115  3,4,5,6,7,9,10
116  3,4,5,6,8,9,10
117  3,4,5,7,8,9,10
118  3,4,6,7,8,9,10
119  3,5,6,7,8,9,10
120  4,5,6,7,8,9,10

.net c#算法公式为:

        public List<string> Arrange(int n, int r)
        {
            List<string> list = new List<string>();
            int i = 0, j;
            string s;
            int[] a = new int[n];
            a[i] = 1;
            while (true)
            {
                if ((a[i] - i) <= (n - r + 1))
                {
                    if (i == (r - 1))
                    {
                        s = "";
                        for (j = 0; j < r; j++)
                        {
                            s = s + (!string.IsNullOrWhiteSpace(s) ? "," : "")+ Convert.ToString(a[j]);
                        }
                        list.Add(s);
                        a[i] = a[i] + 1;
                        continue;
                    }
                    i = i + 1;
                    a[i] = a[i - 1] + 1;
                }
                else
                {
                    if (i == 0)
                    {
                        return list;
                    }
                    i = i - 1;
                    a[i] = a[i] + 1;
                }

            }
        }

效果如下:

附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
File Source
.rar
215.43 KB
文件部分展示图(单击放大)
.net c# 计算一个数字内排列N个组合方式,含源码.net c# 计算一个数字内排列N个组合方式,含源码
留言
该资源可下载
File Source
.rar
215.43 KB
.net c# 计算一个数字内排列N个组合方式,含源码.net c# 计算一个数字内排列N个组合方式,含源码
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章