首页 > Windows开发 > 详细

(C#)筛法求素数

时间:2017-04-12 22:11:07      阅读:244      评论:0      收藏:0      [点我收藏+]

题目:求100以内的素数

            

代码:      int N = 100;

            bool[] a = new bool[N + 1];

            for (int i = 2; i <= N; i++)

                a[i] = true;

            for (int i = 2; i < N; i++)

            {

                if(a[i])

                    for (int j = i * 2; j <= N; j += i)

                        a[j] = false;

            }

            for (int i = 2; i <= N; i++)

                if (a[i])

                    Console.WriteLine(i+" ");

思路:创建一个bool类型的数组,用下标来表示某数,用true或false表示是否为素数。其中用“倍数”来筛选掉非素数,并且某数一旦已经判断不是素数(在之前的倍数里出现过),就不再遍历他的倍数来优化提高效率


(C#)筛法求素数

原文:http://12818335.blog.51cto.com/12808335/1915230

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!