佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 821|回复: 3

如何取得一组号码的可能变化?

[复制链接]
发表于 28-12-2006 10:49 AM | 显示全部楼层 |阅读模式
我要如何取得一组号码的可能变化?

比如说 [1114]

可能的组合为

1)1114
2)4111
3)1411
4)1141

大家有何建议吗? 我是用vb的
回复

使用道具 举报


ADVERTISEMENT

发表于 28-12-2006 11:04 AM | 显示全部楼层
用一个 Mod 10 的function 来拿到, 最后一个的number咯......
回复

使用道具 举报

 楼主| 发表于 28-12-2006 11:25 AM | 显示全部楼层

回复 #2 zchong1022 的帖子

但我要得到的是可能的组合配对

比如说 [1114]

我要得到以下的资料

1)1114
2)4111
3)1411
4)1141
回复

使用道具 举报

 楼主| 发表于 29-12-2006 12:23 PM | 显示全部楼层
下列解法只是隨手寫來並不是好的解法
希望可以拋磚引玉...



        private string getStringFromArray(string[] stringArray)
        {
            StringBuilder sb = new StringBuilder();
            foreach (string s in stringArray)
            {
                sb.Append(s + ", ");
            }
            return sb.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            StringBuilder sb = new StringBuilder();

            // Set up arrays
            string[] initialArray = { "1", "2", "3", "4" };
            string[] possibleArray= new string[4];

            // first loop
            for (int i = 0; i < 4; i++)
            {
                possibleArray = initialArray[0];

                // second loop
                for (int j = 0; j < 4; j++)
                {
                    if (j != i)
                    {
                        possibleArray[j] = initialArray[1];
                        // third loop
                        for (int k = 0; k < 4; k++)
                        {
                            if ((k != i) && (k != j))
                            {
                                possibleArray[k] = initialArray[2];
                                // fourth loop
                                for (int l = 0; l < 4; l++)
                                {
                                    if ((l != i) && (l != j) && (l != k))
                                    {
                                        possibleArray[l] = initialArray[3];
                                        sb.AppendLine(getStringFromArray(possibleArray));
                                    }
                                }
                            }
                        }
                    }
                }
            }
            textBox1.Text = sb.ToString() + "\n"+ sb.Length.ToString();

        }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 27-8-2025 06:33 PM , Processed in 0.126324 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表