遍历数组和素数

遍历数组

  搜索

  在一组给定的数据中,如何找出某个数组是否存在?

  

 

 

   

 

 

   通常都是使用for循环,让循环变量i从0到<数组的length,这样循环体内最大的i正好是数组 最大的有效下标

  常见错误是:

  循环结束条件是<=数组长度,或;

  离开循环后,继续用i的值来做数组元素的下标!

 for each

  

 

 

   对于数组当中的每一个元素取出来作为一个类型的变量

素数

从2到x-1测试是否可以整除

  对于n要循环n-1遍

  当n很大时就可以被看作是n遍

  

去掉偶数后,从3到x-1,每次加2

  如果x是偶数,立刻

  否则要循环(n-3)/2+1遍

  当n很大时就是n/2遍

  

无须到x-1,到sqrt(x)就够了

  只需要循环sqrt(x)遍

  从n —> n/2 —>sqrt(n)

  

 判断是否能被已知的且<x的素数整除

  构造前50个素数的表

  

 

  构造素数表

  欲构造n以内的素数表

  1.令x为2

  2.将 2x、3x、4x直至ax<n的数标记为非素数

  3.令x为下一个没有被标记为非素数的数,重复2;直到所有的数都已经尝试完毕

  欲构造n以内(不含)的素数表

  1.创建prime为boolean[n],初始化其所有元素为true,prime[x]为true表示x是素数

  2.令x=2

  3.如果x是 素数,则对于(i=2;x*i<n;i++)令prime[i*x]=false

  4.令x++,如果x<n,重复3,否则结束

  

 

   算法不一定和人的思考方式相同

posted @ 2022-06-20 21:37  肥宅快乐水~  阅读(58)  评论(0)    收藏  举报