9,2 素数判断

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a454335066/article/details/79946172



素数判断算法

10-16

Qus1:rnpackage pra001;rnrnpublic class Pra002 rnpublic static void main(String[] args) rn for(int i=2; i<=200; ++i) rn if(isPrime(i))rn System.out.println(i);rn rnrnpublic static boolean isPrime(int n) rn for(int i=2; i<=[color=#FF0000]Math.sqrt(n)[/color]; ++i) rn if(n%i==0)rn return false;rn rn return true;rn rn rnrnrnrn素数判断可以用开平方进行简化,但是奇怪的事只要我去掉Math.sqrt()就是<=n,控制台根本就不睬你,不打印任何东西!!rnrnrnrnrnrnrnQus2:rnpackage incla001;rnpublic class Incla001z rnrnpublic static void main(String[] args) rnrnint[] arrPrime = new int[90000]; // something may be wasted,so I use "0" to fill the array.rnrnfor (int i = 10001; i <= 100000; ++i) rnrnif(isPrime(i))rnrnarrPrime[i-10001]=i;rnrnelsernrnarrPrime[i-10001]=1;rnrnSystem.out.println(arrPrime[i-10001]);rnrnrnrnrnrnrnrnpublic static boolean isPrime(int n) rnrnboolean flag = true; //use "flag", and suppose that all the nums are primes in the begining.rnrnfor (int i = 2; i <= n; ++i) rnrnif (n % i == 0)rnrnreturn false;rnrnrnrnreturn flag;rnrnrnrnrn以上代码,我想调用方法找出10001~100000之间的所有素数,并保存在数组里rn(arrPrime[i-10001]=1;这个1就是为了防止资源浪费而已,用来填充数组的而已)rn但是,运行后的输出是11111111111111111111111111……,不知道为什么??rn禁止水贴,禁止水贴,禁止水贴!rnrn一共两条问题(60分),请大家积极发言哟!( ̄O ̄;)

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭