本帖最后由 夜写意 于 2015-7-13 22:38 编辑
自己灵光一现想出来的。不知道和那个求开方的方法谁快- /*
- 定义一个找出素数的方法。
- 思想:一个数n如果没被x整除,则他不会被n/x以上的数整除。
- 只需要验证是否被素数整除,所以可以略过合数。
- 找出的素数放入数组中
- */
- public static int[] findNumber(int[] numbers,int number){
- if(number == 0)
- return numbers;
-
- if(number == 1){
- numbers[0] = 1;
- return numbers;
- }
-
- else if(numbers[1] == 0)
- numbers[1] = 2;
-
- int x;
- for(int i=1;i<=numbers.length;i++){
-
- if(numbers[i+1]!=0 && numbers[i] > number/numbers[i]){
- while(true){
- if(numbers[++i +1] == 0){
- numbers[i+1] = number;
- break;
- }
- }
- break;
-
- }else if(number%numbers[i]!=0){
- if(numbers[i+1] == 0)
- numbers[i+1] = number;
-
- else
- continue;
-
- }else
- break;
- }
- return numbers;
-
- }
复制代码
|
|