(C#)筛法求素数

发布时间:2020-07-20 05:51:18 作者:丶梦港清澈
来源:网络 阅读:416

题目:求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表示是否为素数。其中用“倍数”来筛选掉非素数,并且某数一旦已经判断不是素数(在之前的倍数里出现过),就不再遍历他的倍数来优化提高效率


推荐阅读:
  1. C# 泛型
  2. C# 环境

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:spark通过combineByKey算子实现条件性聚合的方法

下一篇:【移动开发】Android中不用图片资源也能做出好看的界面

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》