c# 筛选法求素数

代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个正整数,将求取该整数内的素数: ");
            string n = Console.ReadLine();
            int num = Convert.ToInt32(n);

            bool[] IsPrime = new bool[num + 1];//方便后面置为true

            for(int i=2;i<=num;i++)
            {
                IsPrime[i] = true;
            }

            for(int i=2;i<num;i++)
            {
                if(IsPrime[i])
                {
                    for(int j=i*2;j<=num;j=j+i)
                    {
                        IsPrime[j] = false;
                    }
                }
            }
            int count = 0;
            for(int i=2;i<=num;i++)
            {
                if(IsPrime[i])
                {
                    Console.Write($"{i}\t");
                    count++;
                    if(count%5==0)
                    {
                        Console.WriteLine();
                    }
                }
            }
        }
    }
}

输出

捕获.PNG
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容