文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>打印质数的lamda算法

打印质数的lamda算法

时间:2011-02-24  来源:kiminozo

引用算法如下。

一、初始化如下列表。

 2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

二、把第一个数(2)取出来,去掉所有可以被2整除的数。

 2  3     5     7     9    11    13    15    17    19    21    23    25    27    29

三、取第二个数(3),去掉所有可以被 3整除的数。

 2  3     5     7          11    13          17    19          23    25          29

四、取第三个数(5),因为4已经被去除了,再去掉所有可以被5整除的数。

 2  3     5     7          11    13          17    19          23                29

接下来的数是7,但是7的平方是49,其大于了30,所以我们可以停止计算了。剩下的数就是所有的质数了。


static void Main(string[] args)
        {
            int length = 30;//最大长度
            var list = Enumerable.Range(1, length);// 1-{最大长度} 的序列
            for (int i = 1; i < length; i++)
            {
               int n = list.Skip(i).First();//取下一个有效数字
               if (n * n > length)//数的平方大于{最大长度},就停止计算了
               {
                   break;
               }
               list = list.Where(p => p == n || p % n != 0);
            }
            //打印
            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
        }
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载