本帖最后由 kucao0707 于 2010-06-26 21:51:26 编辑

解决方案 »

  1.   

    int k=Console.ReadLine();
    int flag = 1;
    for (int i = 1; i <= k; i++)
      {
      for (int j = 2; j <= Math.Sqrt(i); j++)
      {
      if (i % j == 0)
      {
      flag = 0;
      break;
      }
      }
      if (flag == 1) Console.WriteLine("{0} ", i);
      flag = 1 ;   
      }
     }
      

  2.   

    我不知道素数是如何定义的,不过以下的代码应可供你参考:正整数分解质因数
        static int Fac(int n)
        {
            for (int i = 2; i < n; i++)
            {
                 if (n % i == 0) return i;
            }
            return n;
        }    private void BtnSmall_Click(object sender, EventArgs e)
        {
            int n = 11;
            int f = Fac(n);
            Console.Write("{0} = {1}", n, f);        while (f != n)
            {
                n /= f;
                f = Fac(n);
                Console.Write(" * {0}", f);
            }
        }
    说明一下,以上的这段CODE也是我从CSDN 里的一位技术大哥的回贴里拷贝过来的。
      

  3.   

    public int Fun(int a)
            {
                bool bl = true;
                int count = 0;
                for (int i = 1; i <= a; i++)
                {
                    for (int j = 2; j < i; j++)
                    {
                        if (i % j == 0)
                        {
                            bl = false;
                            break;
                        }
                                     }
                    if (bl)
                    {
                        count++;
                    }            }
                return count;
            
            }
    这是我写的一个方法,但结果错了,大家帮忙找下错误
      

  4.   

    一般的求素数的都会这样写for (int i = 1; i < k; i++)
    {
        bool breaked = false;
        for (int j = 2; j < i; j++)
        {
            if (i % j == 0)
            {
                breaked = true;
                break;
            }
        }
        if (!breaked) Console.WriteLine(i);
    }如梦那个把内层循环优化了,速度提高蛮多的。
      

  5.   

    用个List<int>来保存素数for(int i = 2; i <= N; i++)
    {
       for(int j = 2;j < N; j++)
       {
          if (i % j == 0)
             // 非素数
       }
        /// 添加素数到List《int》内
    }