Java to find the factor of any integer

From , 3 Years ago, written in Java, viewed 220 times.
URL https://pastebin.vip/view/e1f979ea
  1. public class T1 {
  2.  
  3.        
  4.         /**
  5.          * 分析这个数是不是质数
  6.          * @param num
  7.          */
  8.         public static boolean isZhishu(int num){
  9.                  
  10.         switch (num) {
  11.          case 1:
  12.          case 2:
  13.          case 3:
  14.                 return true;
  15.          }
  16.         int temp=0;
  17.                  for(int i=2;i<num/2+1;i++){
  18.                          if(num%i==0){
  19.                                 temp++;
  20.                                 break;
  21.                          }
  22.                  }
  23.                  if(temp!=0){
  24.                          return false;
  25.                  }
  26.                 return true;
  27.         }
  28. /**
  29.  * 得到一个数所有的因数
  30.  * @param num
  31.  * @return
  32.  */
  33.         public  static  List<Integer>  zhengChu(int num){
  34.                
  35.                 List<Integer> integers=new ArrayList<Integer>();
  36.                          for(int i=2;i<num/2;i++){
  37.                                  if(num%i==0){
  38.                                          integers.add(i);
  39.                                  }
  40.                          }
  41.          
  42.                         return integers;
  43.                 }
  44.         /**
  45.          *
  46.          * @param args
  47.          */
  48.         public static  void main(String[] args) {
  49.                
  50.  
  51.             int num=120;
  52.            
  53.             Set<Integer> integers=new HashSet<Integer>();
  54.            
  55.             Set<Integer> integers2= T1.test(num, integers);
  56.             System.out.println(integers2);
  57.             //打印结果
  58.             for (Integer integer : integers2) {
  59.                         System.out.println(integer);
  60.                 }
  61.  
  62.         }
  63.         /**
  64.          * 正式求解
  65.          * @param num
  66.          * @param data
  67.          * @return
  68.          */
  69.         public static Set<Integer>  test(int num,Set<Integer> data){
  70.                
  71.                 if(data==null){
  72.                         data=new HashSet<Integer>();
  73.                 }
  74.                  if(T1.isZhishu(num)){
  75.                          System.out.println(num);
  76.                  data.add(num);
  77.                 }
  78.                 else{
  79.                         List<Integer> temp=T1.zhengChu(num);
  80.                         for(Integer integer:temp){
  81.                                 test(integer, data);
  82.                         }
  83.                 }
  84.                  return data;
  85.         }
  86. }
  87.  
  88. //java/5768

Reply to "Java to find the factor of any integer"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website