Guest User

Untitled

a guest
Feb 19th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. import java.util.ArrayList;
  2.  
  3. public class CorrectMultiplicationTwo {
  4.  
  5. public int getMinimum(int a, int b, int c) {
  6. int ans = Integer.MAX_VALUE;
  7. for ( int i = -100 ; i < 100 ; i++ ) {
  8. if ( c+i <= 0 ) i = (c*-1)+2;
  9. ArrayList<Integer> factors = factor(c+i);
  10. int j = factors.size()/2;
  11. if ( factors.size()%2 != 0 ) j++;
  12. for ( int k = 0 ; k <= j ; k++ ) {
  13. int A = factors.get(k);
  14. int B = factors.get(factors.size()-k-1);
  15. ans = Math.min( ans, Math.abs( A-a ) + Math.abs( B-b ) + Math.abs( i ) );
  16. ans = Math.min( ans, Math.abs( B-a ) + Math.abs( A-b ) + Math.abs( i ) );
  17. // System.out.println( A+" "+B+" "+c+" "+C );
  18. }
  19. }
  20. System.out.println( ans );
  21. return ans;
  22.  
  23.  
  24. }
  25. ArrayList<Integer> factor( int num ) {
  26. ArrayList<Integer> ans = new ArrayList<Integer>();
  27. for ( int i = 1 ; i <= num ; i++ ) {
  28. if ( num%i == 0 ) {
  29. ans.add(i);
  30. }
  31. }
  32. return ans;
  33. }
  34. }
Add Comment
Please, Sign In to add comment