本帖最后由 夜写意 于 2015-7-13 01:19 编辑
自己写的,只把最核心的代码写出来,其他的没写。还有没有更高效的,求分享!!!!这个是用于求1~n的之间的素数。数组长度可以定为n/2 或更短,这个我没去仔细思考过
循环调用此方法。 如果是要找X~Y之间的素数还需要把1~X之间的素数先找出来。其他不过多做解释
- //定义一个方法,接收一个数组和需要判断的数字
- //如果此数是素数,把他加到数组里。
- static int[] getNums(int[] nums,int num){
- if(nums[0] == 0){
- nums[0] = 2;
- }
- /**/
- int count = 1;
- for(int i=0; i<nums.length; i++){
- if(count == 0 || num == 1){
- break;
- }else if(nums[i] != 0){
- count = (num % nums[i]);
- }else{
- nums[i] = num;
- break;
- }
- }
- return nums;
- }
复制代码
|
|