C#编写的素数算法程序
来源:互联网 发布:淘宝客报名 编辑:程序博客网 时间:2024/06/04 01:33
首先,说明一下个人基于的一般性素数规律
1. 素数只可能是个位数为1、3、7、9的数值(这里不包含10以下的数),所以没有必要去检查个位数为0、2、4、5、6、8的数
2. 除了10以内的数,后面的素数不可能有连续的
3. 尾数1379的非素数也只可能是素数之积
下面是代码,欢迎评论
public static long FindPrime(long n){ long num = 1, count = 0, result = 0; while (true) { if (count == n) break; if (CheckPrime(num) == false)//不是素数 { result = num; num = num < 11 ? num + 1 : num + 2;//检查到10的时候+1,之后就保证num的个位数总是1、3、7、9之一 } else { count++; result = num; num = num < 10 ? num + 1 : num + 2;//跟上面道理一样 } } return result;}//检查是否为素数public static bool CheckPrime(long n){ if (n == 1) return false; if (1 < n && n <= 3) return true; else { long i = 2; while (n > i) { if (n % i == 0) return false; if (i <= n / 2) { i = i <= 10 ? i + 1 : i + 2; continue; }//如果一个数是素数,只需要循环检查最多它的一般次数 else break; //这里设置10之后i+2是为了减少循环次数,降低算法复杂度 } return true; }}
好了,到这里就结束了,当然这肯定不是什么很好的算法,只是贴出来分享而已
- C#编写的素数算法程序
- 编写一个C#程序:计算100~200的素数
- 编写程序输出100以内的素数
- 编写C#程序的IDE
- python编写找1 -100的素数的程序
- c# 算法 -- 求素数
- 编写程序,输出 200~500之间的所有素数
- 用Java语言编写程序:输出100以内的素数
- C#编写的生成缩略图程序
- C#编写的生成缩略图程序
- C#编写的生成缩略图程序
- C#编写的生成缩略图程序
- C#编写的生成缩略图程序
- C#编写的生成缩略图程序
- C#编写的多线程端口扫描程序!
- C#编写的多线程端口扫描程序
- Visual C#编写实现POP3的程序
- C#编写的生成缩略图程序
- 【转】C++ 初始化列表
- C链表实现
- 众多Android 开源项目再次推荐,学习不可错过
- C++动态载入动态库【AIX】
- Mysql 字符串编码,解决各种乱码问题
- C#编写的素数算法程序
- Wavecom 短信猫 发送短信设置
- PHP会话控制之Session介绍原理
- 简单的图形验证码
- 《Python之禅》的翻译和解释
- MySQL记录存在则更新,不存在则插入
- sharepoint 2007 当Folder Name 被修改多次后,folder里面的内容的modified值会被修改
- hdu1372
- C#线程调用带参数的方法