A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 夜写意 于 2015-7-13 22:38 编辑

自己灵光一现想出来的。不知道和那个求开方的方法谁快
  1.         /*
  2.         定义一个找出素数的方法。
  3.         思想:一个数n如果没被x整除,则他不会被n/x以上的数整除。
  4.                         只需要验证是否被素数整除,所以可以略过合数。
  5.                         找出的素数放入数组中
  6.         */

  7.         public static int[] findNumber(int[] numbers,int number){
  8.                 if(number == 0)
  9.                         return numbers;
  10.                
  11.                 if(number == 1){
  12.                         numbers[0] = 1;
  13.                         return numbers;
  14.                 }
  15.                
  16.                 else if(numbers[1] == 0)
  17.                         numbers[1] = 2;
  18.                
  19.                 int x;
  20.                 for(int i=1;i<=numbers.length;i++){
  21.                        
  22.                         if(numbers[i+1]!=0 && numbers[i] > number/numbers[i]){
  23.                                 while(true){
  24.                                         if(numbers[++i +1] == 0){
  25.                                                 numbers[i+1] = number;
  26.                                                 break;
  27.                                         }
  28.                                 }
  29.                                 break;
  30.                        
  31.                         }else if(number%numbers[i]!=0){
  32.                                 if(numbers[i+1] == 0)
  33.                                         numbers[i+1] = number;
  34.                                
  35.                                 else
  36.                                         continue;
  37.                                        
  38.                         }else
  39.                                 break;
  40.                 }
  41.                 return numbers;
  42.                
  43.         }
复制代码



1 个回复

倒序浏览
学习了,好思路
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马