美文网首页c#学习
c#实现输出任意整数内的质数

c#实现输出任意整数内的质数

作者: 李药师_hablee | 来源:发表于2019-12-11 18:02 被阅读0次

    程序

    using System;
    
    namespace ConsoleApp9
    {
        class Program
        {
            static void Main(string[] args)
            {
                const int MAX = 101;//计算100以内质数
                //false为质数,true为非质数
                //声明後若没有给定初值,其默认值为false
                bool[] prime = new bool[MAX];
                prime[0] = true;//0不是质数
                prime[1] = true;//1不是质数
                int num = 2, i;
                //将1-MAX中不是质数的逐一过滤掉,以此方式找到所有质数
                while(num<MAX)
                {
                    if (!prime[num])//在num是质数的情况下
                    {
                        for (i = num+num; i < MAX; i = i + num)
                        {
                            if (prime[i])
                            {
                                //如果是非质数,跳过
                                continue;
                            }
                            prime[i] = true;//否则记为非质数
                        }
                    }
                    num = num + 1;
                }
                //打印质数
                int cnt = 0;
                for(i=2;i<MAX;i++)
                {
                    if (!prime[i])
                    {
                        //如果是质数就打印
                        Console.Write("{0,-5} ", i);//每个数字占5位,左对齐
                        cnt++;
                        if (cnt % 5 == 0)
                            Console.WriteLine();//5个数一行
                    }
                }            
                Console.WriteLine("共有{0}个质数",cnt);
            }
        }
    }
    

    结果

    捕获.JPG

    相关文章

      网友评论

        本文标题:c#实现输出任意整数内的质数

        本文链接:https://www.haomeiwen.com/subject/fmlagctx.html