解题思路:
思路一:a * b -(a+b)
思路二: a+b-1<=要找的数<a和b的最小公倍数;a*b = 最小公倍数 * 最大公约数
注意事项:
参考代码:
public static void main(String[] args){ Scanner reader = new Scanner(System.in); int a = reader.nextInt(); int b = reader.nextInt(); System.out.println(fun2(a,b)); System.out.println(fun1(a,b)); } private static int fun1(int a,int b){ return a*b-(a+b); } private static int fun2(int a,int b){ //求最大公约数 min int max = a>b?a:b; int min = a<b?a:b; int num = max % min; while (num!=0){ max = min; min = num; num = max % min; } // 求最小公倍数 num = a * b / min; // 三次循环,找到最大的数 int start = a +b -1; int target = start; int flag = 0; for(int i = start;i<num;i++){ for(int j = 0;j<i/a+1;j++){ for(int k = 0;k<i/b+1;k++){ if(j*a+k*b==i){ flag = 1; break; } } if(flag == 1){ break; } } if(flag != 1){ target = i; }else { flag = 0; } } return target; }
0.0分
1 人评分