C#判断一个整数是否为质数或是素数方法

3 篇文章 0 订阅

质数:是只有1和它本身两个约数的自然数称之为质数或素数。

下面是C#判断是否为质数的方法。

        /// <summary>
        /// 高效判断是否为质数
        /// </summary>
        public static bool isPrime(long num)
        {
            if (num < 2)
                return false;
            if (num == 2 || num == 3)
            {
                return true;
            }
            if (num % 6 != 1 && num % 6 != 5)
            {
                return false;
            }
            int sqr = (int)Math.Sqrt(num);
            for (int i = 5; i <= sqr; i += 6)
            {
                if (num % i == 0 || num % (i + 2) == 0)
                {
                    return false;
                }
            }
            return true;
        }

  具体效果可以参考。。在线质数判断   ---http://www.haomeili.net/ZhiShu/IsZhiShu

      

C#中,编写一个程序来判断一个整数是否素数,可以通过编写一个函数来实现。这个函数需要检查给定的数是否只能被1和它自身整除。以下是一个简单的示例代码: ```csharp using System; class Program { static void Main() { Console.Write("请输入一个整数:"); int number; if (int.TryParse(Console.ReadLine(), out number)) { if (IsPrime(number)) { Console.WriteLine(number + " 是素数。"); } else { Console.WriteLine(number + " 不是素数。"); } } else { Console.WriteLine("输入无效,请输入一个整数。"); } } static bool IsPrime(int number) { if (number <= 1) return false; // 素数必须大于1 if (number == 2) return true; // 2是最小的素数 if (number % 2 == 0) return false; // 排除偶数 // 只检查奇数因子,直到平方根,因为如果n是合数,则它必有一个因子不大于sqrt(n) var boundary = (int)Math.Floor(Math.Sqrt(number)); for (int i = 3; i <= boundary; i += 2) { if (number % i == 0) { return false; // 如果找到一个因子,则number不是素数 } } return true; // 如果没有找到因子,则number是素数 } } ``` 这段代码首先提示用户输入一个整数,然后通过`int.TryParse`尝试将输入转换为整数。接着调用`IsPrime`函数来判断这个数是否素数,并输出结果。 `IsPrime`函数首先排除了小于等于1的数和偶数(除了2),然后使用一个循环来检查从3开始的奇数因子,直到这个数的平方根。如果在这个范围内没有找到能够整除这个数的因子,那么这个数就是素数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值