要求 用C# 生成 所有包括123 的三个位,
如生成结果是 123 132  213 231 321  312求解还有一个是生成倚偶3位数
如 两个倚,一个偶 
生成结果之一是112 334等都符合规则,
请教C# 如何实现.是枚举所有合规则的数字

解决方案 »

  1.   

    用Random类实现随即3为数字(定义范围)
    如果有需要可以用ArrayList集合添加随即数,用循环去掉重复的.
    然后用SubString()方法判断没个字符是否包含1,2,3如果不是则不添加进ArrayList
    至于基偶的话参照上面的SubString()可以实现
    还有如果需要必须显示10个数字出来.
    则判断ArrayList的Count属性,不够的话,继续执行上面的操作.Remove()可以移除项.
    思路出来了,具体怎么实现自己解决吧.嘿嘿.
      

  2.   

    using System;namespace test
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    for(int i=1;i<=3;i++)
    {
    for(int j=1;j<=3;j++)
    {
    if (i==j) continue;
    for(int k=1;k<=3;k++)
    {
    if(i==k || j==k) continue;
    Console.WriteLine(i.ToString()+j.ToString()+k.ToString());
    }
    }
    }
    }
    }
    }
      

  3.   

    using System;namespace test
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    for(int i=0;i<=9;i++)
    {
    for(int j=0;j<=9;j++)
    {
    for(int k=0;k<=9;k++)
    {
    if((i%2==0&&j%2==0&&k%2==0)||(i%2!=0&&j%2!=0&&k%2!=0)) continue;
    Console.WriteLine(i.ToString()+j.ToString()+k.ToString());
    }
    }
    }
    }
    }
    }
      

  4.   


    2、
                for(int i=1;i<=9;i+=2)
                {
                    for(int j=1;j<=9;j+=2)
                    {
                        for(int k=0;k<9;k+=2)
                        {
                            Console.WriteLine(i.ToString()+j.ToString()+k.ToString());
                        }
                    }
                }