Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- public class CorrectMultiplicationTwo {
- public int getMinimum(int a, int b, int c) {
- int ans = Integer.MAX_VALUE;
- for ( int i = -100 ; i < 100 ; i++ ) {
- if ( c+i <= 0 ) i = (c*-1)+2;
- ArrayList<Integer> factors = factor(c+i);
- int j = factors.size()/2;
- if ( factors.size()%2 != 0 ) j++;
- for ( int k = 0 ; k <= j ; k++ ) {
- int A = factors.get(k);
- int B = factors.get(factors.size()-k-1);
- ans = Math.min( ans, Math.abs( A-a ) + Math.abs( B-b ) + Math.abs( i ) );
- ans = Math.min( ans, Math.abs( B-a ) + Math.abs( A-b ) + Math.abs( i ) );
- // System.out.println( A+" "+B+" "+c+" "+C );
- }
- }
- System.out.println( ans );
- return ans;
- }
- ArrayList<Integer> factor( int num ) {
- ArrayList<Integer> ans = new ArrayList<Integer>();
- for ( int i = 1 ; i <= num ; i++ ) {
- if ( num%i == 0 ) {
- ans.add(i);
- }
- }
- return ans;
- }
- }
Add Comment
Please, Sign In to add comment