当前位置: 首页 > news >正文

山东省建设监理协会网站6网店代运营公司方案

山东省建设监理协会网站6,网店代运营公司方案,网页设计面试自我介绍,wordpress个人博客主题标题是一个测试题。在看到这道题的时候#xff0c;第一反应这是一道考程序复杂度的题#xff0c;其次再是算法问题。 我们先来看看质数的规则: Link#xff1a;http://en.wikipedia.org/wiki/Prime_number C#求质数代码#xff1a; 1 public bool primeNumber(int …标题是一个测试题。在看到这道题的时候第一反应这是一道考程序复杂度的题其次再是算法问题。 我们先来看看质数的规则: Linkhttp://en.wikipedia.org/wiki/Prime_number C#求质数代码 1 public bool primeNumber(int n){ 2 int sqr Convert.ToInt32(Math.Sqrt(n)); 3 for (int i sqr; i 2; i--){ 4 if (n % i 0){ 5 b false; 6 } 7 } 8 return b; 9 } 显然以上代码的程序复杂度为N 我们来优化下代码再来看下面代码 1 public bool primeNumber(int n)2 {3 bool b true;4 if (n 2)5 b true;6 else7 {8 int sqr Convert.ToInt32(Math.Sqrt(n));9 for (int i sqr; i 2; i--) 10 { 11 if (n % i 0) 12 { 13 b false; 14 } 15 } 16 } 17 return b; 18 } 通过增加初步判断使程序复杂度降为N/2。 以上两段代码判断大数是否质数的正确率是100%但是对于题干   1.满足大数判断   2.要求以最快速度得到正确结果 显然是不满足的。上网查了下最快算法得到准确结果公认的一个解决方案是Miller-Rabin算法 Link:http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test Miller-Rabin 基本原理是通过随机数算法判断的方式提高速度即概率击中但是牺牲的是准确率。 Miller-Rabin 对输入大数的质数判断的结果并不一定是完全准确的但是对于本题来说算是一个基本的解题办法了。 Miller-Rabin C# 代码 1 public bool IsProbablePrime(BigInteger source) {2 int certainty 2;3 if (source 2 || source 3)4 return true;5 if (source 2 || source % 2 0)6 return false;7 8 BigInteger d source - 1;9 int s 0; 10 11 while (d % 2 0) { 12 d / 2; 13 s 1; 14 } 15 16 RandomNumberGenerator rng RandomNumberGenerator.Create(); 17 byte[] bytes new byte[source.ToByteArray().LongLength]; 18 BigInteger a; 19 20 for (int i 0; i certainty; i) { 21 do { 22 rng.GetBytes(bytes); 23 a new BigInteger(bytes); 24 } 25 while (a 2 || a source - 2); 26 27 BigInteger x BigInteger.ModPow(a, d, source); 28 if (x 1 || x source - 1) 29 continue; 30 31 for (int r 1; r s; r) { 32 x BigInteger.ModPow(x, 2, source); 33 if (x 1) 34 return false; 35 if (x source - 1) 36 break; 37 } 38 39 if (x ! source - 1) 40 return false; 41 } 42 43 return true; 44 } 以上是我对本题的解题答案欢迎大家讨论和提供更优办法。 代码戳files.cnblogs.com/tmywu/PrimeNumberProject.zip    转载于:https://www.cnblogs.com/tmywu/archive/2013/05/15/3079403.html
http://www.pierceye.com/news/389147/

相关文章:

  • 贵州建网站网站怎么优化自己免费
  • 个人网站介绍源码网站制作昆山
  • 网站开发属于知识产权吗如何制作软件程序
  • 外贸网站模板源码网络架构如何写
  • 网站建设美工的职位要求建材做哪些网站好
  • 淘宝客自建网站wap免费空间
  • python快速搭建网站如何制作一个微信刷题小程序
  • 域名备案与网站备案网站漏洞解决
  • 公明做网站多少钱高端网站设计怎么样
  • 重庆网站建设 熊掌号wordpress 被发文章
  • 网站建设管理视频广东省农业农村厅班子
  • 网站建设需要钱吗开发一个小程序流程
  • 通州富阳网站建设做足彩网站推广
  • 一个公司做网站需要注意什么条件车之家汽车官网
  • 石家庄网站建设网站建设网站的制作哪家好
  • 苏州晶体公司网站网站排名优化各公司的
  • 网站开发大致多少钱团队拓展训练
  • p2p网站建设方案卫龙模仿iphone做网站
  • 做盗版电影网站犯法吗Wordpress 淘宝客 页面
  • 自己做网站费用html5结构的网站
  • wordpress做资源分享站做网站的图哪来
  • 国外设计欣赏网站线上建模培训班哪个好
  • 微信网站建设合同怎么在本地搭建网站
  • 班级网站怎么做网页制作临沂网站制作方案
  • 泰州网站建设服务好wordpress调用分类名
  • 中英切换的网站咋做怎样在网站做推广
  • 初学网站开发书籍如何提升网站打开速度
  • 深圳微信网站建设公司哪家好网站 维护 页面
  • 做个企业网站需要多少钱北京西站到大兴机场
  • 数字博物馆网站建设动态设计是什么意思