永发信息网

c# 中 五个数字12345,有多少个不同的组合,用for循环写出来,求大神指教

答案:3  悬赏:40  手机版
解决时间 2021-01-31 06:47
c# 中 五个数字12345,有多少个不同的组合,用for循环写出来,求大神指教
最佳答案
int count = 0;

for (int i = 12345; i <= 54321; i++)
{
    string temp = i.ToString();
    if (temp.Contains("1") &&
        temp.Contains("2") &&
        temp.Contains("3") &&
        temp.Contains("4") &&
        temp.Contains("5"))
    {
        count++;
        Console.WriteLine(temp);
    }
}count就是组合的个数
console输出就是组合数字
追问。。。。。。问错了,不能用int 如果是abcde怎么做?而且不能重复追答1. 如果不光求出组合个数,还要输出每种组合,那就得用到递归函数了:
public static List Route(int count, ref string[] str)
{
    if (count > 1)
    {
        List list = Route(count - 1, ref str);
        List newList = new List();
        for (int i = 0; i < count; i++)
        {
            for (int j = 0; j < list.Count; j++)
            {
                newList.Add(list[j].Insert(i, str[count - 1]));
            }
        }
        return newList;
    }
    else
    {
        return new List() { str[0] };
    }
}下面是调用例子:
string[] str = new string[] { "a", "b", "c", "d" };
List list = Route(str.Length, ref str); 
2. 如果你只是想知道总个数,而不需要输出每种组合的话,那就是一个简单阶乘的算法了(1*2*3*4*....*n):
int count = 1;
for (int i = 1; i < str.Length + 1; i++)
{
    count = count * i;
}str是输入的字符串(例如:12345, abcde), count就是组合的个数
全部回答
算不算1 2 3 单个数字的
①如果算就是
2*n-1(n位数字的个数) 如题就是:2*5-1=32-1=31
2*n是2的n次方个
②如果不算就是
5X4X3X2X1=120

不用递归的算法,由于没有环境,只在java中测试过    mian方法里
        String s[] = { "1", "2", "3" , "4" , "5"};
        permutaions(s);
    public static void permutaions(String[] s) {
        for (int i = 0; i <= s.length; i++) {
            permutation(s, i);
        }
    }
    public static void permutation(String[] s, int m) {
        // 检查
        if (s == null || m < 0 || m > s.length) return;
        int[] idxes = new int[m];
        int idx = m - 1;
        // 初始化第一组排列
        for (int i = 0; i < m; i++) idxes[i] = i;
        while (idx >= 0) {
            if (idx == m - 1) {
                output(s, idxes);
                idxes[idx]++;
                if (idxes[idx] == s.length) {
                    idx--;
                    // 剩余的不足以排列
                    while ((idx >=0) && ((s.length - idxes[idx]) <= (m - idx))) {
                        idx--;
                    }
                }
            } else {
                idxes[idx]++;
                // 初始化第一组排列
                for (int i = idx + 1; i < m; i++) idxes[i] = idxes[i - 1] + 1;
                idx = m - 1;
            }
        }
    }
    private static void output(String[] s, int[] idxes) {
        for (int i = 0; i < idxes.length; i++) {
            Console.Write(s[idxes[i]]);
        }
        Console.WriteLine();
    }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
停车场(东兴街)(东兴街112号附近停车场)地址
停车场(港城路)(扬子江南路55-1号附近停车场)
怎么把手机中我的世界的数据转移到外储存卡
项目建议书阶段的投资估算,其误差率应控制在
电动车60v20a的电瓶,没电的时候一个电瓶的正
停车场(建设路)(北大街文化街区建设路律师楼
山顶、山腰、山脚生长的植物种类不同,造成这
新西兰投资移民收到eoi 是否就算移民成功了
停车场(建设路)(建设路225-251号附近停车场)
停车场(建业路)(建业路与过境公路交叉口南100
停车场(解放东路)(华都宾馆)地址在什么地方,
刚谈两个月就不那么喜欢男朋友了
硬橡胶价格多少
【代表的英文】代表这个的英文单词是什么?
让爱走进心灵是写帮助谁的作文400字
推荐资讯
单选题要得到函数的图象,需将函数y=sin2x+co
在微信上卖那种爆珠 蓝莓爆柠檬爆的进口烟会
如何安装淘客助手插件到浏览器2345
地处市区的某内资企业为增值税一般纳税人,主
苹果4s手机左边除了十、一键外,还有一个是什
御坊堂养生会所地址好找么,我有些事要过去
某大型企业要招聘一位具有10年以上消费品市场
云南产玉石吗
在力矩分配法计算中,由A端传向B端的传递系数
糖糖傣家银怎么去啊,我要去那办事
直线px+qy+r=0(pq≠0)的图像如图所示,则下列
淮南音乐故事广播(调频104.9),为何不能在
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?