Advertisement
Shamel

Untitled

Jan 13th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.23 KB | None | 0 0
  1. import java.text.DecimalFormat;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4.  
  5. class Lab32cst {
  6.     public static void main(String[] args) {
  7.         Scanner in = new Scanner(System.in);
  8.         System.out.print("Enter an integer: ");
  9.         int any=in.nextInt();
  10.  
  11.  
  12.         Factor f=new Factor(any);
  13.         f.getFactor(any);
  14.         f.display();
  15.  
  16.     }
  17. }
  18.  
  19. class Factor
  20. {
  21.     ArrayList<Integer> factor;
  22.     ArrayList<Integer> prime;
  23.     private int f;
  24.     private int b;
  25.     private double average;
  26.  
  27.     public Factor(int n)
  28.     {
  29.         factor=new ArrayList<Integer>();
  30.         prime=new ArrayList<Integer>();
  31.         this.f=n;
  32.         b=1;
  33.     }
  34.  
  35.     public void getFactor(int n)
  36.     {
  37.         if(n % b == 0) {
  38.             factor.add(b);
  39.             average+=b;
  40.             if(prime(b,2)==1)
  41.                 prime.add(b);
  42.  
  43.         }
  44.         b++;
  45.         if(b<=n)
  46.             getFactor(f);
  47.         else
  48.             average/=factor.size();
  49.     }
  50.  
  51.     int prime(int y,int i)
  52.     {
  53.         if(i < y)
  54.         {
  55.             if(y % i != 0)
  56.             {
  57.                 return(prime(y, ++i));
  58.             }
  59.             else
  60.             {
  61.                 return 0;
  62.             }
  63.         }
  64.         return 1;
  65.     }
  66.  
  67.     public void display()
  68.     {
  69.         DecimalFormat twodeci=new DecimalFormat("0.00");
  70.         System.out.println("All Factors: " + factor);
  71.         System.out.println("Prime Factors: " + prime);
  72.         System.out.println("Average of all factors: " + twodeci.format(average));
  73.     }
  74.  
  75.  
  76.  
  77.  
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement