【C# 教程系列第 29 篇】求1-100之内所有的质数(素数)

523 阅读1分钟

这是【C# 教程系列第 29 篇】,如果觉得有用的话,欢迎关注专栏。

首先看一下百度百科对质数的定义。

质数 质数,也叫素数,是指在大于 1 的自然数中,除了 1 和它本身以外,不再有其它因数的自然数。

思路

  • 由质数的定义可知,质数最小要从 2 开始。
  • 让每一个数和从 2 开始,然后到其本身之间的所有数相除,两者取余的结果为 0 ,说明不是质数,反之是质数,所以用双层 for 循环实现。

c# 代码如下所示

static void Main(string[] args)
{
	string strResult = "";  // 存储输出的结果
    for (int i = 2; i < 101; i++)
    {
        bool isPrimeNUmber = true;	// 先默认每一个数都是质数
        // 每个数除以它之前的所有数
        for (int j = 2; j < i-1; j++)
        {
            // 取余的结果为 0 ,说明能被整除,即不是质数
            if (i % j == 0)
            {
                isPrimeNUmber = false;
                break;
            }
        }
        // 如果是质数,则记录到结果中
        if (isPrimeNUmber) strResult += i + "、";
    }
    Console.Write("1-100之内的质数有:" + strResult);
    Console.ReadKey();
}

控制台输入结果如下图

在这里插入图片描述

ok,结束。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。

最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。