读书人

C# int部类

发布时间: 2012-09-10 11:02:32 作者: rapoo

C# int类型
1、找出111111111 999999999中符合以下条件的9位数,9位数的中间三位是前三位的2倍,最后三位是前三位的3倍,并且这9个数的每位只能是1-9,不能重复




我的思路是设int a=111;然后用循环加,没循环一次,就判断,如果a里面的数据包含1-9中任意3个数字并且不重复的话就求int b,在用if判断int b,以此再求int c;但如何判断变量的值中包含1-9并且数字不重复呢??????????


例如: int a=111;
int b=0;
int c=0;
for (a = 111; a < 999;a++ )
{

b = a * 2;
if (b >= 111 && b <= 999)
{
c = a * 3;
if(c >=111 && c<=999)
{
Console.WriteLine(a.ToString()+b.ToString()+c.ToString());
}
}

}

[解决办法]

C# code
        static void Main(string[] args)        {            int a = 111;            int b = 0;            int c = 0;            for (a = 112; a < 999; a++)            {                b = a * 2;                c = a * 3;                if(CheckNumber(a) && CheckNumber(b) && CheckNumber(c))                    Console.WriteLine("{0}{1}{2}", a, b, c);            }            Console.Read();        }        private static bool CheckNumber(int number)        {            if (number.ToString().IndexOf("0") >= 0)                return false;            int bai = number / 100;            int shi = number / 10 % 10;            int ge = number % 10;            if(bai == shi && shi == ge)                return false;            if (number >= 999)                return false;            return true;        } 

读书人网 >C#

热点推荐