这个算法如何写???

解决方案 »

  1.   

    不考虑性能:
    int counter = 0;
    for (int i = 1; i <= 9999; i++)
    {
    if (i.ToString().Contains('1'))
    counter++;
    }
    Response.Write(counter);
      

  2.   

    int counter = 0;
    for (int i = 1; i <= 9999; i++)
    {
    if (i.ToString().Contains('1'))
    counter++;
    Console.WriteLine(i);
    }
    收到信了,就按上面写,有别的问题另外开帖问。
      

  3.   

    写错了,应该是:
    int counter = 0;
    for (int i = 1; i <= 9999; i++)
    {
        if (i.ToString().Contains('1'))
        {    counter++;
             Console.WriteLine(i);
         }
    }
      

  4.   

    不对,一输入,就输出了1-9999个数字了.
    也就是for循环内的数字了
      

  5.   

                int counter = 0;
                for (int i = 1; i <= 9999; i++)
                {
                    if (i.ToString().Contains('1'))
                    {
                       string ye = Convert.ToString( i.ToString().Contains('1').ToString());
                    }
                        counter++;
                    Console.WriteLine(i);
                }
                Console.ReadKey();        }
    我改的代码
      

  6.   

    9999-C(9,1)*C(9,1)*C(9,1)*C(9,1)+1
    9999-9*9*9*9+1为什么要+1?
    因为C(9,1)*C(9,1)*C(9,1)*C(9,1)包含了0,而0不在1-9999里面,所以多减1了。因此:
    Console.WriteLine(9999-9*9*9*9+1);